|
|
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
Вопрос, который меня интересует. Стоит ли использовать scala для новых проектов? Вроде она и есть, вроде даже уже java с нее передирает разные приемы, но вроде как ее и нету. Нормальной поддержки в разных ide нет, то что есть - плагины сделаные "для галочки", только в idea можно более-менее нормально с ней работать, и то есть странноватые моменты. C другой стороны, код конечно сокращается, и много есть приятных моментов. Например, те же сеттеры-геттеры реализованы мегаудобно по сравнению с java, в java подобную инициативу отклонили. Но есть подозрение, что это "язык на несколько лет", типа как груви - через какое-то время java до него дорастет, а про него все забудут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 02:54 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
chabapokСтоит ли использовать scala для новых проектов? Если ты уверен в способности твоих коллег поддерживать проект на scala и если тебе самому интересно изучать и внедрять функциональные подходы. chabapokВроде она и есть, вроде даже уже java с нее передирает разные приемы, но вроде как ее и нету. Нет, Java не с неё "передирает разные приемы". chabapokНормальной поддержки в разных ide нет, то что есть - плагины сделаные "для галочки", только в idea можно более-менее нормально с ней работать, и то есть странноватые моменты. Недостатки scala подробно описаны в массе статей. Нагуглить пару ссылок? chabapokC другой стороны, код конечно сокращается, и много есть приятных моментов. Всегда ли это хорошо для поддержки большого проекта? chabapokНапример, те же сеттеры-геттеры реализованы мегаудобно по сравнению с java, в java подобную инициативу отклонили. А что JSR такой был? chabapokНо есть подозрение, что это "язык на несколько лет" scala, вроде как, более академический язык, поэтому в нём есть всё что только можно придумать. Но при этом он пытается прорваться в enterprise. Нельзя сказать что успешно. chabapok типа как груви - через какое-то время java до него дорастет, а про него все забудут. Java не дорастет до Scala. Как только Java вдруг станет функциональной, то для неё и исчезнет масса разработчиков, которые сильно повязли в империческом стиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 11:12 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczchabapokВроде она и есть, вроде даже уже java с нее передирает разные приемы, но вроде как ее и нету. Нет, Java не с неё "передирает разные приемы". а с кого? Те же реализации по умолчанию в интерфейсах, те же "указатели на функции". Можно конечно сказать, что все это передрали с шарпа с плюсов, но вот в чем дело - поняли что это нужно в java только когда оно появилось jvm-подобных в языках. BlazkowiczchabapokC другой стороны, код конечно сокращается, и много есть приятных моментов. Всегда ли это хорошо для поддержки большого проекта? Да, это всегда хорошо, и особоенно для большого проекта. Я не вижу задач, для которых это может быть плохо. BlazkowiczchabapokНапример, те же сеттеры-геттеры реализованы мегаудобно по сравнению с java, в java подобную инициативу отклонили. А что JSR такой был? Было в составе какого-то jsr. Я находил где-то в рассылках. То ли в project coin, то ли еще где-то. Blazkowiczchabapok типа как груви - через какое-то время java до него дорастет, а про него все забудут. Java не дорастет до Scala. Как только Java вдруг станет функциональной, то для неё и исчезнет масса разработчиков, которые сильно повязли в империческом стиле. [/quot] Честно говоря, посмотрел пару книжек, попробовал простенькие примеры, но так и не понял в чем состоит такая уж функциональность скалы. Там есть и классы! В том, что можно передать ссылку на функцию, а не на обьект? Ну так и на обьект ведь тоже осталось можно ссылаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 12:44 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
А там можно как в смолтоке сделать return верхнего контекста из замыкания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 12:47 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
chabapokа с кого? Те же реализации по умолчанию в интерфейсах, те же "указатели на функции". Можно конечно сказать, что все это передрали с шарпа с плюсов, но вот в чем дело - поняли что это нужно в java только когда оно появилось jvm-подобных в языках. Замыкания http://en.wikipedia.org/wiki/Closure_(computer_science)#History_and_etymology Mixin http://en.wikipedia.org/wiki/Mixin#History Всё это было придумано в таких лохматых годах, что ещё ни о каких Java/Scala даже речи не было. chabapokДа, это всегда хорошо, и особоенно для большого проекта. Я не вижу задач, для которых это может быть плохо. Ок. Даю подсказку. Компактный слабо похож на натуральный язык поэтому читается с трудном. Читабельность кода очень важна для поддержки. chabapokЧестно говоря, посмотрел пару книжек, попробовал простенькие примеры, но так и не понял в чем состоит такая уж функциональность скалы. Там есть и классы! В том, что можно передать ссылку на функцию, а не на обьект? Ну так и на обьект ведь тоже осталось можно ссылаться. Ну, так и в этом прелесть Scala. Она, оставаясь функциональной, никак не запрещает писать в процедурном стиле и использовать ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 12:58 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
chabapokjvm-подобных в языках Просто JVM языках) По существу согласен, когда увидел нововведения java 8 тоже подумал что идеи они черпают из scala. Scala, думаю, заниматься все равно стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 13:09 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВсё это было придумано в таких лохматых годах, что ещё ни о каких Java/Scala даже речи не было. Придумали может и давно, но содрали явно со скалы. А в скале содрали с шарпа. Но там это хоть было оправдано причиной - "сделаем, потому что в яве этого нет" Хотя это все мои домыслы, но мне ситуация видится именно такой. BlazkowiczОк. Даю подсказку. Компактный слабо похож на натуральный язык поэтому читается с трудном. Читабельность кода очень важна для поддержки. Теперь вашу мысль я понял. Читаемость так же зависит от программиста. Мне сложно судить насколько scala читаема, но выглядит вполне читаемой (если знаешь синтаксис, конечно). Мне например всегда не нравилось как громоздко в жаве выглядят каллбэки. В скале гораздо читаемей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 16:43 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
chabapokПридумали может и давно, но содрали явно со скалы. А в скале содрали с шарпа. Но там это хоть было оправдано причиной - "сделаем, потому что в яве этого нет" Для меня это звучит как заявления что MathLab "содрал" формулы из учебника по тригономентрии. Есть определенные принципы программирования, описанные и именованые несколько десятков лет назад. Что там такого "содрано" у Scala и C#, чего небыло в Haskell, Erlang, LISP и прочих? chabapokЧитаемость так же зависит от программиста. Мне сложно судить насколько scala читаема, но выглядит вполне читаемой (если знаешь синтаксис, конечно). Мне например всегда не нравилось как громоздко в жаве выглядят каллбэки. В скале гораздо читаемей. Вот именно. И Java хоть и медленно, но уверенно движется в сторону сокращения синтаксического шума. Это видно на всех новых фичах языка - энумы, автобоксинг, генерики, лямбды. Не теряя при этом простоты. Scala же, как мне кажется, растет по принципу, а давайте сюда добавим всё что только можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 16:53 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДля меня это звучит как заявления что MathLab "содрал" формулы из учебника по тригономентрии. Есть определенные принципы программирования, описанные и именованые несколько десятков лет назад. Что там такого "содрано" у Scala и C#, чего небыло в Haskell, Erlang, LISP и прочих? Если бы в матлабе их не было и их просили, а потом после выхода какого-то учебника их туда добавили, то о такой зависимости можно было бы говорить :) chabapokВот именно. И Java хоть и медленно, но уверенно движется в сторону сокращения синтаксического шума. Это видно на всех новых фичах языка - энумы, автобоксинг, генерики, лямбды. Не теряя при этом простоты. Scala же, как мне кажется, растет по принципу, а давайте сюда добавим всё что только можно. Мне наоборот кажется, что java топчится на месте. Фичи добавляют очень медленно и осторожно. При этом часть фич, которые хорошо себя зарекомендовывают, почему-то отклоняют. При этом, иногда добавляют никому не нужный (как видится мне) функционал. Например, тот же diamond syntax мне непонятно зачем сделали - только добавили шум синтаксический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 17:21 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
chabapokМне наоборот кажется, что java топчится на месте. Фичи добавляют очень медленно и осторожно. При этом часть фич, которые хорошо себя зарекомендовывают, почему-то отклоняют. При этом, иногда добавляют никому не нужный (как видится мне) функционал. Например, тот же diamond syntax мне непонятно зачем сделали - только добавили шум синтаксический. Она просто очень прибита гвоздями к Runtime. Недаром и язык и окружение одинаково названы. Отсюда типы данных и ограничения на работу с памятью. Что-бы там в Scala не создали но мы уже имеем определённый балласт библиотек которые Scala-разработчики будут просто заимствовать из Java. Сколько мы не отвязываемся от Java - всё равно будем видеть некий концепуальный Java-слой в stacktraces, кодах ошибок e.t.c. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2013, 18:19 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОк. Даю подсказку. Компактный слабо похож на натуральный язык поэтому читается с трудном. Читабельность кода очень важна для поддержки. А ты уверен, что код на Java всегда великолепно читается ? Я вот тут на SmartGWT проект разбираю -- уууу... А это -- одна простая формочка. 10 полей-фильтров и грид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 16:47 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
И какова аудитория Scala-кодеров? Сильно сомнительно что туда придёт сишник. Скорее всего те-же "мьсе" из Java которые захотели экзотики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 16:49 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
MasterZivА ты уверен, что код на Java всегда великолепно читается ? А зачем так мои слова трактовать? Я говорю что компактный код, которого позволяет добиться функциональный язык, не всегда хорошо сказывается на читаемости этого самого кода. По какой логике это должно автоматически означать "Java всегда великолепно читается" - я не знаю. MasterZivЯ вот тут на SmartGWT проект разбираю -- уууу... У SmartGWT API кривой, да. Зато богатый. Чего там только нет. MasterZivА это -- одна простая формочка. 10 полей-фильтров и грид. Java это, как раз, обратная сторона медали. Масса синтаксического шума. Особенно если на него не обращать внимание и не стараться убрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 16:54 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВот именно. И Java хоть и медленно, но уверенно движется в сторону сокращения синтаксического шума. Как-то уж очень медленно она движется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 17:00 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
а мне понравился, и как скриптовый язык, и как jvm-надстройка (тут все ява-области, включая GUI), параллельное использование всех ядер на машинке... с помощью аннотаций совсем просто делать ЕЕ-приложения к тому же, хотя я ни разу не ява-кодер. и работает "на глазок" быстрее groovy, jython. пусть и субьективно, конечно, ява действительно "читается" сложнее. процент прогеров - да, меньше сотой-тысячной процента, вопросов по scala также задают мало, но задают. и perl и php тоже не поощрялись, но заняли свою нишу. опять же вакансии начали светиться. и сама она еще не устаканилась, это работает, это перенесли, тут мы вам реактивное порнограммирование добавили и J2EE не нужно. но так было со всеми языками! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 11:15 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
Я понимаю, многие люди давно пишущие на Java, сотворили во круг себя мир, который им понятен и в котором они хорошо ориентируются. Java будет востребована еще очень долго и поэтому беспокоится не о чем. Можно, еще лет 10 или 20, просто работать. Зачем еще что-то изучать, если и в Java поле не паханное стандартов и библиотек? Абсолютно все задачи, которые перед ними ставят, эти люди могут вполне решить на Java. Так зачем еще тратить время на какую-то Scala? Много видел таких людей. Им просто незачем рушить свой привычный мирок, ощущая себя не зубром Java, а вполне себе школяром Scala... Для них конечно нет смысла никакого. Это не стеб, им реально незачем ее использовать. Таких большинство в так называем заказной разработке или аутсорсе. Там рулят в основном риски и прочие менеджерские замашки. И это в какой-то степени неплохо. Ибо хоть как-то удерживает технарей от перфикционизма)) И в этой ситуации, понятие эффективности практически никого не волнует. Гораздо важнее, что 10 человек на SpringMVC "запилят" этот проект за 6 мес. Да, этой балалайке потом потребуется кластер из 10 сервер и т.д. Но это все вложено в бюджет и вполне прогнозируемо по расходам. А это очень важная вещь для заказчика. А вот в компании, которая делает собственные сервисы и сама с них зарабатывает имея штат разработчиков, для нее понятие эффективности не пустой звук. Это ее собственные расходы. Поэтому люди там постоянно находятся "в поиске". Поиске более эффективных технологий, более эффективных подходов и т.д. Безусловно, не все из новшеств одинаково полезны. И приходится производить отбор. Но вот как раз Scala, та самая технология, которая позволяет компании более эффективно решать свои задачи. В прошлом, по моему, году, яндекс рассказывал, как они переписывали свой сервис на scala с очень положительным результатом. Они сократили время обработки своих каких-то фидов, примерно с 2-3 часов, до 10-15 минут. Для тех кто на бронетехнике поясню, это решено было не увеличением количества серверов)) И что реализация того же самого функционала на Java заняла бы гораздо больше времени и было бы технически более сложным в результате. И это далеко не единственный пример. На Scala сейчас обратили внимание очень многие компании. Да, есть проблема с кадрами у них. Ну так это и хорошо с другой стороны, у нас больше шансов найти интересную работу)) В общем я попробовал Scala в своем игровом сервере. - Кода уменьшилось раза в 2 точно. Оставшийся код стал более простым и понятным. Стало легче с ним работать. - Переписав сетевую часть с Java+Netty на Scala+Akka получили прирост в обработке пакетов. примерно с 500к в сек до примерно 1.2М в сек. Просто на ровном месте, без оптимизаций. Надеюсь никому не надо объяснять как важна борьба с лагами в сетевой игре? - Другие, более мелкие плюшки, которых очень много и лень описывать. В результате, я просто не понимаю, как можно вообще вопрос ставить "использовать или нет". Это примерно как недавно на хабре в каментах про Scala написали: "это примерно как поставить рядом BMW х6 (Scala) и ВАЗ 2106 (Java) и на полном серьезе спрашивать, а есть ли смысл переходить с ВАЗ на BMW? И при этом перечислять, ну вот смотрите, у обоих есть руль, есть колеса, есть двигатель, есть куда бензин залить, в салоне 5 человек сидеть может… и т.д." Понятно, что оба автомобиля довезут куда надо. Но разница все же есть) В общем, если волнует собственная эффективность, time-to-product и т.д., тот однозначно стоит того. А если пофиг, задача "пилить бюджет на проекте" или просто нет желания ничего изучать ибо и так платят, то конечно нет смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2014, 16:52 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
chabapokВопрос, который меня интересует. Стоит ли использовать scala для новых проектов? По мне, так scala нужно использовать уже за алголоподобный (а не С-подобный) синтаксис. Начать можно с чисто процедурного программирования, чтобы все привыкли. chabapokНормальной поддержки в разных ide нет, то что есть - плагины сделаные "для галочки", только в idea можно более-менее нормально с ней работать, и то есть странноватые моменты. Да, это проблема. А что, кстати, за странноватые моменты? chabapokНо есть подозрение, что это "язык на несколько лет", типа как груви - через какое-то время java до него дорастет, а про него все забудут. Ну уродский вывернутый наизнанку синтаксис от java никуда не уйдёт. А Груви в пример приводить нельзя- этот язык черезвычайно ненадёжен. Недавно я выяснил, что случайно поменяв параметр fork jvm в pom.xml на неверное значение можно получить NPE внутри тредпулэкзекьютера. Поубивал бы... Скала- вполне себе замена java, а груви- для мелких поделок. В текущем проекте вставили кусочек на грейлсе, 4 странички- так он компилируется как весь остальной большой проект, и нашли одну багу в нём (т.е. нашли до нас, это она нас нашла). Всё же scala вроде не глючное поделие для глючных программ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2014, 21:51 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
Странноватый момент - это например sbt таковое. Почему нельзя было сделать просто compile-on-save, как это делает netbeans для java? Из за этого компиляция (даже последующая) занимает заметно дольше времени. Запустил - и надо ждать пока оно соберется. Это конечно не плюсовое приложение собирать, но все же пауза заметно нервирует. Кроме того, есть проблемы с указанием main класса, того с которого запускать прогу. (точно уже не помню - возможно этот прикол наблюдался в эклипсе). Почему нельзя было сделать чтоб он выставлялся в конфигурации - непонятно. Обязательно нужно слева выбрать его, и только потом запускать. Т.е. перед каждым запуском я должен следить за тем какой из классов там слева выбран. Это вообще караул как задалбывает. Со всплывающей документаций тоже проблемы - не показывается, а ведь могла бы. больше не помню, смотрел скалу давно, забыл уже. Помню только вывод сделал - круто там только местами, а местами оно сырое и это ложка дегтя в бочке меда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2014, 02:22 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
Тупой вопрос: если скала работает под jvm, то какие принципиальные отличия в байт-коде из-под скала и из -под javac, откуда эффективность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 12:42 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
ЛагманТупой вопрос: если скала работает под jvm, то какие принципиальные отличия в байт-коде из-под скала и из -под javac, откуда эффективность? Если писать на байткоде, то да, разницы никакой не будет. А вообще, про какую эффективность вы говорите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 13:30 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
Ищущий Знания, Про ваши +50% производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 13:31 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
А, там даже за 100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 13:32 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
ЛагманТупой вопрос: если скала работает под jvm, то какие принципиальные отличия в байт-коде из-под скала и из -под javac, откуда эффективность? Эффективность программиста. Байт-код там странноватый :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 13:33 |
|
||
|
Стоит ли использовать scala?
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, Ну т.е. на скале программист без вправленного мозга все равно напишет так, как программист с вправленным, но на java ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2014, 13:34 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38531671&tid=2127776]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 504ms |

| 0 / 0 |
