?

Log in

No account? Create an account

Scala или Clojure? - Оживший юзерпик

Feb. 10th, 2014

03:49 pm - Scala или Clojure?

Previous Entry Share Next Entry

И почему? :)

Comments:

Page 1 of 2
<<[1] [2] >>
[User Picture]
From:alexott
Date:February 10th, 2014 11:57 am (UTC)
(Link)
Java!
P.S. от задачи зависит - что ты как маленький? ;-)
(Reply) (Thread)
[User Picture]
From:tobotras
Date:February 10th, 2014 12:27 pm (UTC)
(Link)
Я большой, я специально так сформулировал!

(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:potan
Date:February 10th, 2014 11:59 am (UTC)
(Link)
У Scala - pattern matching, удобный REPL, статическая типизация (правда, с неожиданностями) и легкое использование джавовских библиотек.
Clojure - простые макросы и более предсказуемое поведение. Еще транзакционная память.

Я пока предпочитаю Scala. Возможно, с развитием библиотек и IDE выиграет Clojure.
(Reply) (Thread)
[User Picture]
From:alexott
Date:February 10th, 2014 12:29 pm (UTC)
(Link)
ну кроме статической типизации, остальное есть в кложуре :-)
(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:drf_ckoff
Date:February 10th, 2014 12:42 pm (UTC)
(Link)
петон!
патамушта!
(Reply) (Thread)
[User Picture]
From:potan
Date:February 10th, 2014 01:16 pm (UTC)
(Link)
Сложный он. И некрасивый.
(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:rmrfchik
Date:February 10th, 2014 01:07 pm (UTC)
(Link)
Даже зная контекст вопроса, я не понимаю, какой ответ ты тут ожидаешь.
Объективных критериев оценки? Так их, насколько я знаю, нет.
Субъективных критериев? Не понятно, как можно их применять.
Ну вот скажу я, скала некрасива, кложура чуть более красива. А толку?
(Reply) (Thread)
[User Picture]
From:tobotras
Date:February 10th, 2014 01:19 pm (UTC)
(Link)
Да чёрт же его знает. Надо понять, насколько мы в долгосрочной перспективе будем успешнее с одним или другим. Понятно, что 90% -- это люди. Но есть же 10%!
(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:votez
Date:February 10th, 2014 01:26 pm (UTC)
(Link)
scala
- поддержка IDE
- проще использовать наработки из проклятой жабы, которых - пруд пруди.
- поддержка сообщества разработчиков выглядит более масштабной
- scala is sexy - проще нового жависта заинтересовать скалой сейчас, чем кложурой (и, наверное, так будет дальше).

в целом это можно вывести из того, что скалу продвигают активно в массы как язык именно для продакшна, а кложура - это удовольствие для более узкой группы. Для души - что хошь, а для работы скакалка более перспективна, как мне кажется.
(Reply) (Thread)
[User Picture]
From:tobotras
Date:February 10th, 2014 01:35 pm (UTC)
(Link)
"Проще использовать" -- а чем проще?
(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:tzirechnoy
Date:February 10th, 2014 01:35 pm (UTC)
(Link)
clojure.

Армии трудяг с PL/I, С, C++, Java, javascript, .NET, python, Scala -- приходят и уходят. Ну, некоторые не совсем уходят -- остаются в каких-то нишах, иногда очень дажэ подходящих под язык.

А Лисп вечен.
(Reply) (Thread)
[User Picture]
From:rmrfchik
Date:February 10th, 2014 02:22 pm (UTC)
(Link)
Во, Боря, тебе аргумент -- лисп, как крупноячеистый фильтр для разработчиков.
(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:grundik
Date:February 10th, 2014 02:09 pm (UTC)
(Link)
Кложа ибо Лисп!
(Reply) (Thread)
[User Picture]
From:dz
Date:February 10th, 2014 03:17 pm (UTC)
(Link)
scala имеет шанс стать промышленной платформой. опирается на огромную явскую экосистему.
(Reply) (Thread)
[User Picture]
From:tobotras
Date:February 10th, 2014 03:22 pm (UTC)
(Link)
А в чём принципиальная разница скалистой опоры от кложурной?
(Reply) (Parent) (Thread) (Expand)
(no subject) - (Anonymous) (Expand)
[User Picture]
From:dz
Date:February 10th, 2014 03:17 pm (UTC)
(Link)
Ну то есть, если тебе дрочить, то кложа, если работать - скала.
(Reply) (Thread)
[User Picture]
From:sigurna
Date:February 10th, 2014 04:31 pm (UTC)
(Link)
тьфу на тебя. Еретик.
(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:sorhed
Date:February 10th, 2014 04:14 pm (UTC)
(Link)
Scala.

1) Типизация таки спасает от сотен глупых ошибок. Тип это «для всех X верно Y», а юнит-тест это «для какого-то X верно Y».

2) Akka. Конкурентов нет.

3) Не все правильно умеют готовить ООП, но оно таки очень помогает организовать предметную модель во многих случаях.

4) Код со скобочками можно воспринимать только линейно, а с нормальным синтаксисом — top-down. Времени на понимание кода тратится меньше.

У Clojure, правда, есть одно годное преимущество: она много проще.
(Reply) (Thread)
[User Picture]
From:sigurna
Date:February 10th, 2014 04:28 pm (UTC)
(Link)
clojure.
а потомушто правильнее идейно.
(Reply) (Thread)
[User Picture]
From:bormotov
Date:February 10th, 2014 06:37 pm (UTC)
(Link)
с одной стороны, хочется по-чаще такие набросы скалы на вентилятор, с другой - ведь быстро надоест всем ;(
(Reply) (Thread)
[User Picture]
From:caml_programmer
Date:February 10th, 2014 07:14 pm (UTC)
(Link)
По существу - разница только в применяемой типизации. Я за статическую.

У Clojure поприятнее синтаксис, правда с макросами возникали проблемы (приходилось макрос через
defn в каких-то случаях определять). Возможны проблемы с производительностью (работает через
какой-то явский reflection).

У Scala - получше интеграция с Java. Но синтаксис, типизация и концепции даже для меня странноватые.
Особо не изучал, но все говорят - винигрет - может это и не плохо.

На ML вот серьёзный рефакторинг можно с закрытыми глазами делать, ни на
каком Lisp-е так не получится, на счёт Scala - пока не знаю.

Я вот скоро Jocaml попробую потыкать, посмотрим, что за зверь.
(Reply) (Thread)
[User Picture]
From:svv
Date:February 10th, 2014 07:42 pm (UTC)
(Link)
If you have to ask, use Java ;)

В марте обещают http://openjdk.java.net/projects/jdk8/ с лямбдами, и этого за глаза хватит для большинства проектов.

У clojure, мне кажется, очень нишевое будущее, потому что (а) лисп и (б) динамически типизированный. При всём уважении к (а) и без особого уважения к (б).

На scala, в отличие от clojure, я практически не программировал, так что могу только общими соображениями поделиться. Если даже закрыть глаза на детские болезни языка (компилятор, ide, стабильность библиотек — эти проблемы не вечные) — это сложный язык, и на нём сложнее организовать разработку в команде, чем на старой доброй скучной Java с понятными идиомами и без DSL. Поэтому в большой софтверной компании, где будет много людей и проектов, и захочется много reuse и обширного контроля качества кода, я бы сто раз подумал, перед тем как внедрять scala. Конечно, это сильно зависит от культуры разработки (насколько она есть, и насколько живучая), но в большинстве случаев это, мне кажется, было бы безответственно. При меньших масштабах разработки — может и можно попробовать, примеры вокруг есть.

Про оба языка есть такой момент, что писать на них без знания Java нельзя. Т.е. каждый из вариантов означает +1 новый язык (к дефолтной Java). С вытекающими вопросами "на каком из них писать общие библиотеки", "нужно ли писать врапперы для неидиоматичных сторонних java-библиотек" и т.д.
(Reply) (Thread)
From:(Anonymous)
Date:February 10th, 2014 08:11 pm (UTC)
(Link)
Twitter, LinkedIn, Foursquare - достаточно большие компании?
(Reply) (Parent) (Thread) (Expand)
[User Picture]
From:gravitydenier
Date:February 10th, 2014 08:53 pm (UTC)
(Link)
Конечно, Clojure. Единственный плюс Scala это то, что после нее мгновенно начинаешь любить Clojure. Вот тут я описал свой опыт подробнее: http://www.notehub.org/3fhai
(Reply) (Thread)