Если не Java, но и не Scala, то что?
От: ManFeel Казахстан  
Дата: 19.08.14 01:30
Оценка:
Поработав со Скалой около года для себя и на фрилансе, почитав про разные косяки и многословность, по сравнению с clojure, я понял, что в нем, все-таки, черт может ногу сломить. Иногда. Чего туда только не по-напихано. А какая есть альтернатива для JVM? Java (и 8) не предлагайте. То, что только совсем недавно появилось или слишком непопулярное, тоже не годится. Frege, например, только недавно родился.

Остается только Clojure. Мне, в принципе, нравится, потому что я больше к функциональному программированию склонен, в том числе к Хаскеллу.

Но, может есть еще что-то? Что бы стали использовать?
Re: Если не Java, но и не Scala, то что?
От: dimgel Россия https://github.com/dimgel
Дата: 19.08.14 01:34
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF>Поработав со Скалой около года для себя и на фрилансе, почитав про разные косяки и многословность, по сравнению с clojure, я понял, что в нем, все-таки, черт может ногу сломить.


Может. А может и не сломать. Интересно, сколько раз я тут уже повторял: не нравятся навороты — не юзайте. Можете даже коллекции скаловские не юзать — а тупо жавовские. Будет такая вот жава в компактном синтаксисе. Я вот погряз в макросах — но огромное количество народу самим их существованием не заморачивается (да и не было их вообще ещё не так давно).

UPD. А уж про "многословность" — это я вообще даже не понял, речь о скале или о жаве. Скала — многословна?!
Отредактировано 19.08.2014 1:36 dimgel . Предыдущая версия .
Re[2]: Если не Java, но и не Scala, то что?
От: ManFeel Казахстан  
Дата: 19.08.14 01:54
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Может. А может и не сломать. Интересно, сколько раз я тут уже повторял: не нравятся навороты — не юзайте. Можете даже коллекции скаловские не юзать — а тупо жавовские. Будет такая вот жава в компактном синтаксисе. Я вот погряз в макросах — но огромное количество народу самим их существованием не заморачивается (да и не было их вообще ещё не так давно).


да я-то могу и не использовать, а как код других читать с наворотами?



D>UPD. А уж про "многословность" — это я вообще даже не понял, речь о скале или о жаве. Скала — многословна?!


да, scala может быть многословна по сравнению с clojure. хотя, я сильно пока не вникал. но, видел, что в макросах скала — да — более многословнее, чем clojure.
Re[3]: Если не Java, но и не Scala, то что?
От: dimgel Россия https://github.com/dimgel
Дата: 19.08.14 02:31
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF>да я-то могу и не использовать, а как код других читать с наворотами?


А зачем? Если юзать только жавовские либы, то и код других читать не придётся.

А вообще, чем проще инструмент, тем больше сложности выпадает на долю приложения, стесняюсь повторять старый кывтовский консенсус.

MF>да, scala может быть многословна по сравнению с clojure. хотя, я сильно пока не вникал. но, видел, что в макросах скала — да — более многословнее, чем clojure.


Да ладно, кому они нужны — макросы-то? Жили без них — не тужили, они вообще только во фреймворковых вещах нужны. А если в команде разделение труда, то прикладнушникам вообще не надо туда лезть, как не лезут они в сорцы того же спринга.

Хотя штука адовая, тут соглашусь, но из моего опыта выходит, что сложность задач, которые я макросами пытаюсь решить, значительно превышает сложность собственно структур, с которыми приходится работать. AST замороченное, поначалу от граблей на лбу живого места нет, но со временем и запоминаешь, и привыкаешь — даже не стараясь специально.
Re[4]: Если не Java, но и не Scala, то что?
От: dimgel Россия https://github.com/dimgel
Дата: 19.08.14 05:52
Оценка:
Здравствуйте, dimgel, мы писали:

MF>>в макросах скала — да — более многословнее, чем clojure.


D>AST замороченное


Чёт я ж вроде написал в предыдущем посте, но видимо заредактировал: квазицитаты достаточно часто помогают, за исключением совсем уж динамических случаев, да и там частенько можно складывать квазицитаты в ListBuffer[Tree], чтобы потом квазицитатой же воткнуть куда надо, например так:

val $buf = new ListBuffer[Tree]
$buf += q"private val $termName1 = $expr1"
$buf += q"private val $termName2 = $expr2"
q"class C { ..$buf; def f() = $termName1 + $termName2 }"  // вложенный Block вокруг $buf не создаётся
Re: Если не Java, но и не Scala, то что?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 19.08.14 07:55
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF> А какая есть альтернатива для JVM?


http://ceylon-lang.org/
Re[4]: Если не Java, но и не Scala, то что?
От: vsb Казахстан  
Дата: 19.08.14 08:01
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Да ладно, кому они нужны — макросы-то? Жили без них — не тужили, они вообще только во фреймворковых вещах нужны. А если в команде разделение труда, то прикладнушникам вообще не надо туда лезть, как не лезут они в сорцы того же спринга.


Не соглашусь. Периодически приходится читать исходники и свинга и хибернейта и других библиотек, включая, конечно, JDK. И простота Java ОЧЕНЬ помогает. Не знаю, что там с консенсусом кывта, но скаловские коллекции я не могу осилить. Как ни залезу в них, так и погрязаю в десятках интерфейсов.
Re[2]: Если не Java, но и не Scala, то что?
От: ManFeel Казахстан  
Дата: 19.08.14 09:07
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, ManFeel, Вы писали:


MF>> А какая есть альтернатива для JVM?


DM>http://ceylon-lang.org/


по критерию "популярность" не подходит. для себя, может он и подойдет, но стоит ли тратить на него время? может, умрет, так и не родившись толком. я про него только 2ой раз слышу.
Re[5]: Если не Java, но и не Scala, то что?
От: dimgel Россия https://github.com/dimgel
Дата: 19.08.14 09:09
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Как ни залезу в них, так и погрязаю в десятках интерфейсов.


Блин, вроде ж сохранял в закладки отличное объяснение идеи за всеми этими наворотами с коллекциями на SO от (кажется) Miles Sabin — и не нахожу вообще никак, даже гуглом. Всё какая-то ересь от Одерски в выдачу лезет.

Но в общем согласен: в погоне за избавлением от копипасты реализаций и за удобством использования (автоматический выбор наиболее конкретного типа результата всяких там map()) они усложнили всю свою кухню на порядок, если не на два. Слава те яйца, мне до сих пор пригождалось только пару раз заглядывать в реализации отдельных методов, а общая картина — да чёрт бы с ней.
Re[4]: Если не Java, но и не Scala, то что?
От: ManFeel Казахстан  
Дата: 19.08.14 09:10
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, ManFeel, Вы писали:


MF>>да я-то могу и не использовать, а как код других читать с наворотами?


D>А зачем? Если юзать только жавовские либы, то и код других читать не придётся.


не получится использовать только жавовские либы всегда
Re[3]: Если не Java, но и не Scala, то что?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 19.08.14 10:05
Оценка:
Здравствуйте, ManFeel, Вы писали:

DM>>http://ceylon-lang.org/

MF>по критерию "популярность" не подходит.

Пожалуй. Тогда Groovy.
Re[5]: Если не Java, но и не Scala, то что?
От: dimgel Россия https://github.com/dimgel
Дата: 19.08.14 10:09
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF>не получится использовать только жавовские либы всегда


Я склонен полагать, что если очень захотеть, то получится. Специально выше написал, что даже без скаловских коллекций можно прожить: например, используемый в main(args: Array[String]) Array — это жавовский mutable Array, а всё остальное можно импортировать из java.util. Только разве ж это жизнь?
Re: Если не Java, но и не Scala, то что?
От: Евгений Акиньшин grapholite.com
Дата: 19.08.14 13:04
Оценка: +1
Здравствуйте, ManFeel, Вы писали:

MF>Поработав со Скалой около года для себя и на фрилансе, почитав про разные косяки и многословность, по сравнению с clojure, я понял, что в нем, все-таки, черт может ногу сломить. Иногда. Чего туда только не по-напихано. А какая есть альтернатива для JVM? Java (и 8) не предлагайте. То, что только совсем недавно появилось или слишком непопулярное, тоже не годится. Frege, например, только недавно родился.


MF>Остается только Clojure. Мне, в принципе, нравится, потому что я больше к функциональному программированию склонен, в том числе к Хаскеллу.


MF>Но, может есть еще что-то? Что бы стали использовать?


Kotlin
Не шалю, никого не трогаю, починяю примус Diagrams Designer for iPad and Windows 10
Re[2]: Если не Java, но и не Scala, то что?
От: dimgel Россия https://github.com/dimgel
Дата: 19.08.14 15:04
Оценка:
Здравствуйте, Евгений Акиньшин, Вы писали:

ЕА>Kotlin


"scala programming language" Результатов: примерно 1 790 000
"clojure programming language" Результатов: примерно 482 000
"kotlin programming language" Результатов: примерно 19 800
Re[2]: Если не Java, но и не Scala, то что?
От: ManFeel Казахстан  
Дата: 19.08.14 15:08
Оценка: +1
Здравствуйте, Евгений Акиньшин, Вы писали:


ЕА>Kotlin


его чуть ли не вчера выпустили, никаких фич особых нет, возможно, он так и не разродится.
Re[3]: Если не Java, но и не Scala, то что?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 19.08.14 21:40
Оценка:
Здравствуйте, ManFeel, Вы писали:

ЕА>>Kotlin


MF>его чуть ли не вчера выпустили, никаких фич особых нет


На мой взгляд, там есть почти все фичи, которые нужны. Какой именно фичи тебе не хватает?
Re[4]: Если не Java, но и не Scala, то что?
От: ManFeel Казахстан  
Дата: 20.08.14 03:31
Оценка:
Здравствуйте, nikov, Вы писали:

N>Здравствуйте, ManFeel, Вы писали:


ЕА>>>Kotlin


MF>>его чуть ли не вчера выпустили, никаких фич особых нет


N>На мой взгляд, там есть почти все фичи, которые нужны. Какой именно фичи тебе не хватает?

я же не говорю, что мне не хватает чего-то. в скале эти фичи тоже есть.
Re: Если не Java, но и не Scala, то что?
От: monax  
Дата: 20.08.14 06:53
Оценка:
Здравствуйте, ManFeel, Вы писали:

MF> А какая есть альтернатива для JVM? Java (и 8) не предлагайте.


Вообще, как-то странно, и не ява и не скала, но под jvm. Откуда такая привязка к jvm?
Re[4]: Если не Java, но и не Scala, то что?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.08.14 06:01
Оценка:
Здравствуйте, dimgel, Вы писали:

MF>>да я-то могу и не использовать, а как код других читать с наворотами?


D>А зачем? Если юзать только жавовские либы, то и код других читать не придётся.


Предлагаешь сразу переписывать код с наворотами при чем не разбираясь, чего же он делает ?
Re[5]: Если не Java, но и не Scala, то что?
От: dimgel Россия https://github.com/dimgel
Дата: 23.08.14 07:34
Оценка:
Здравствуйте, Ikemefula, Вы писали:

D>>А зачем? Если юзать только жавовские либы, то и код других читать не придётся.


I>Предлагаешь сразу переписывать код с наворотами при чем не разбираясь, чего же он делает ?


Это ты сейчас о чём?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.