Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Стоит ли использовать scala? / 25 сообщений из 52, страница 1 из 3
27.11.2013, 02:54
    #38479211
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
Вопрос, который меня интересует. Стоит ли использовать scala для новых проектов? Вроде она и есть, вроде даже уже java с нее передирает разные приемы, но вроде как ее и нету. Нормальной поддержки в разных ide нет, то что есть - плагины сделаные "для галочки", только в idea можно более-менее нормально с ней работать, и то есть странноватые моменты. C другой стороны, код конечно сокращается, и много есть приятных моментов. Например, те же сеттеры-геттеры реализованы мегаудобно по сравнению с java, в java подобную инициативу отклонили.

Но есть подозрение, что это "язык на несколько лет", типа как груви - через какое-то время java до него дорастет, а про него все забудут.
...
Рейтинг: 0 / 0
27.11.2013, 11:12
    #38479436
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
chabapokСтоит ли использовать scala для новых проектов?
Если ты уверен в способности твоих коллег поддерживать проект на scala и если тебе самому интересно изучать и внедрять функциональные подходы.

chabapokВроде она и есть, вроде даже уже java с нее передирает разные приемы, но вроде как ее и нету.

Нет, Java не с неё "передирает разные приемы".

chabapokНормальной поддержки в разных ide нет, то что есть - плагины сделаные "для галочки", только в idea можно более-менее нормально с ней работать, и то есть странноватые моменты.
Недостатки scala подробно описаны в массе статей. Нагуглить пару ссылок?

chabapokC другой стороны, код конечно сокращается, и много есть приятных моментов.

Всегда ли это хорошо для поддержки большого проекта?

chabapokНапример, те же сеттеры-геттеры реализованы мегаудобно по сравнению с java, в java подобную инициативу отклонили.

А что JSR такой был?

chabapokНо есть подозрение, что это "язык на несколько лет"
scala, вроде как, более академический язык, поэтому в нём есть всё что только можно придумать. Но при этом он пытается прорваться в enterprise. Нельзя сказать что успешно.

chabapok типа как груви - через какое-то время java до него дорастет, а про него все забудут.
Java не дорастет до Scala. Как только Java вдруг станет функциональной, то для неё и исчезнет масса разработчиков, которые сильно повязли в империческом стиле.
...
Рейтинг: 0 / 0
27.11.2013, 12:44
    #38479675
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
BlazkowiczchabapokВроде она и есть, вроде даже уже java с нее передирает разные приемы, но вроде как ее и нету.

Нет, Java не с неё "передирает разные приемы".


а с кого? Те же реализации по умолчанию в интерфейсах, те же "указатели на функции". Можно конечно сказать, что все это передрали с шарпа с плюсов, но вот в чем дело - поняли что это нужно в java только когда оно появилось jvm-подобных в языках.


BlazkowiczchabapokC другой стороны, код конечно сокращается, и много есть приятных моментов.

Всегда ли это хорошо для поддержки большого проекта?


Да, это всегда хорошо, и особоенно для большого проекта. Я не вижу задач, для которых это может быть плохо.

BlazkowiczchabapokНапример, те же сеттеры-геттеры реализованы мегаудобно по сравнению с java, в java подобную инициативу отклонили.

А что JSR такой был?


Было в составе какого-то jsr. Я находил где-то в рассылках. То ли в project coin, то ли еще где-то.

Blazkowiczchabapok типа как груви - через какое-то время java до него дорастет, а про него все забудут.
Java не дорастет до Scala. Как только Java вдруг станет функциональной, то для неё и исчезнет масса разработчиков, которые сильно повязли в империческом стиле.
[/quot]

Честно говоря, посмотрел пару книжек, попробовал простенькие примеры, но так и не понял в чем состоит такая уж функциональность скалы. Там есть и классы! В том, что можно передать ссылку на функцию, а не на обьект? Ну так и на обьект ведь тоже осталось можно ссылаться.
...
Рейтинг: 0 / 0
27.11.2013, 12:47
    #38479680
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
А там можно как в смолтоке сделать return верхнего контекста из замыкания?
...
Рейтинг: 0 / 0
27.11.2013, 12:58
    #38479715
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
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. Она, оставаясь функциональной, никак не запрещает писать в процедурном стиле и использовать ООП.
...
Рейтинг: 0 / 0
27.11.2013, 13:09
    #38479739
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
chabapokjvm-подобных в языках
Просто JVM языках)

По существу согласен, когда увидел нововведения java 8 тоже подумал что идеи они черпают из scala.
Scala, думаю, заниматься все равно стоит.
...
Рейтинг: 0 / 0
27.11.2013, 16:43
    #38480234
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
BlazkowiczВсё это было придумано в таких лохматых годах, что ещё ни о каких Java/Scala даже речи не было.
Придумали может и давно, но содрали явно со скалы. А в скале содрали с шарпа. Но там это хоть было оправдано причиной - "сделаем, потому что в яве этого нет"

Хотя это все мои домыслы, но мне ситуация видится именно такой.

BlazkowiczОк. Даю подсказку. Компактный слабо похож на натуральный язык поэтому читается с трудном. Читабельность кода очень важна для поддержки.
Теперь вашу мысль я понял.
Читаемость так же зависит от программиста. Мне сложно судить насколько scala читаема, но выглядит вполне читаемой (если знаешь синтаксис, конечно). Мне например всегда не нравилось как громоздко в жаве выглядят каллбэки. В скале гораздо читаемей.
...
Рейтинг: 0 / 0
27.11.2013, 16:53
    #38480261
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
chabapokПридумали может и давно, но содрали явно со скалы. А в скале содрали с шарпа. Но там это хоть было оправдано причиной - "сделаем, потому что в яве этого нет"
Для меня это звучит как заявления что MathLab "содрал" формулы из учебника по тригономентрии. Есть определенные принципы программирования, описанные и именованые несколько десятков лет назад. Что там такого "содрано" у Scala и C#, чего небыло в Haskell, Erlang, LISP и прочих?


chabapokЧитаемость так же зависит от программиста. Мне сложно судить насколько scala читаема, но выглядит вполне читаемой (если знаешь синтаксис, конечно). Мне например всегда не нравилось как громоздко в жаве выглядят каллбэки. В скале гораздо читаемей.
Вот именно. И Java хоть и медленно, но уверенно движется в сторону сокращения синтаксического шума. Это видно на всех новых фичах языка - энумы, автобоксинг, генерики, лямбды. Не теряя при этом простоты.
Scala же, как мне кажется, растет по принципу, а давайте сюда добавим всё что только можно.
...
Рейтинг: 0 / 0
27.11.2013, 17:21
    #38480289
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
BlazkowiczДля меня это звучит как заявления что MathLab "содрал" формулы из учебника по тригономентрии. Есть определенные принципы программирования, описанные и именованые несколько десятков лет назад. Что там такого "содрано" у Scala и C#, чего небыло в Haskell, Erlang, LISP и прочих?

Если бы в матлабе их не было и их просили, а потом после выхода какого-то учебника их туда добавили, то о такой зависимости можно было бы говорить :)



chabapokВот именно. И Java хоть и медленно, но уверенно движется в сторону сокращения синтаксического шума. Это видно на всех новых фичах языка - энумы, автобоксинг, генерики, лямбды. Не теряя при этом простоты.
Scala же, как мне кажется, растет по принципу, а давайте сюда добавим всё что только можно.

Мне наоборот кажется, что java топчится на месте. Фичи добавляют очень медленно и осторожно. При этом часть фич, которые хорошо себя зарекомендовывают, почему-то отклоняют. При этом, иногда добавляют никому не нужный (как видится мне) функционал. Например, тот же diamond syntax мне непонятно зачем сделали - только добавили шум синтаксический.
...
Рейтинг: 0 / 0
27.11.2013, 18:19
    #38480394
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
chabapokМне наоборот кажется, что java топчится на месте. Фичи добавляют очень медленно и осторожно. При этом часть фич, которые хорошо себя зарекомендовывают, почему-то отклоняют. При этом, иногда добавляют никому не нужный (как видится мне) функционал. Например, тот же diamond syntax мне непонятно зачем сделали - только добавили шум синтаксический.
Она просто очень прибита гвоздями к Runtime. Недаром и язык и окружение
одинаково названы. Отсюда типы данных и ограничения на работу с памятью.

Что-бы там в Scala не создали но мы уже имеем определённый балласт библиотек
которые Scala-разработчики будут просто заимствовать из Java. Сколько мы не отвязываемся
от Java - всё равно будем видеть некий концепуальный Java-слой в stacktraces, кодах
ошибок e.t.c.
...
Рейтинг: 0 / 0
28.11.2013, 16:47
    #38482128
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
BlazkowiczОк. Даю подсказку. Компактный слабо похож на натуральный язык поэтому читается с трудном. Читабельность кода очень важна для поддержки.

А ты уверен, что код на Java всегда великолепно читается ?
Я вот тут на SmartGWT проект разбираю -- уууу...
А это -- одна простая формочка. 10 полей-фильтров и грид.
...
Рейтинг: 0 / 0
28.11.2013, 16:49
    #38482131
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
И какова аудитория Scala-кодеров? Сильно сомнительно что туда придёт сишник. Скорее
всего те-же "мьсе" из Java которые захотели экзотики.
...
Рейтинг: 0 / 0
28.11.2013, 16:54
    #38482147
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
MasterZivА ты уверен, что код на Java всегда великолепно читается ?
А зачем так мои слова трактовать? Я говорю что компактный код, которого позволяет добиться функциональный язык, не всегда хорошо сказывается на читаемости этого самого кода.
По какой логике это должно автоматически означать "Java всегда великолепно читается" - я не знаю.

MasterZivЯ вот тут на SmartGWT проект разбираю -- уууу...
У SmartGWT API кривой, да. Зато богатый. Чего там только нет.

MasterZivА это -- одна простая формочка. 10 полей-фильтров и грид.
Java это, как раз, обратная сторона медали. Масса синтаксического шума. Особенно если на него не обращать внимание и не стараться убрать.
...
Рейтинг: 0 / 0
28.11.2013, 17:00
    #38482165
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
BlazkowiczВот именно. И Java хоть и медленно, но уверенно движется в сторону сокращения синтаксического шума.

Как-то уж очень медленно она движется...
...
Рейтинг: 0 / 0
29.11.2013, 11:15
    #38482989
nexoma
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
а мне понравился, и как скриптовый язык, и как jvm-надстройка (тут все ява-области, включая GUI), параллельное использование всех ядер на машинке...

с помощью аннотаций совсем просто делать ЕЕ-приложения к тому же, хотя я ни разу не ява-кодер. и работает "на глазок" быстрее groovy, jython.

пусть и субьективно, конечно, ява действительно "читается" сложнее.

процент прогеров - да, меньше сотой-тысячной процента, вопросов по scala также задают мало,
но задают.

и perl и php тоже не поощрялись, но заняли свою нишу.
опять же вакансии начали светиться.

и сама она еще не устаканилась, это работает, это перенесли, тут мы вам реактивное порнограммирование добавили и J2EE не нужно.

но так было со всеми языками!
...
Рейтинг: 0 / 0
18.01.2014, 16:52
    #38530568
Стоит ли использовать scala?
Я понимаю, многие люди давно пишущие на 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 и т.д., тот однозначно стоит того.
А если пофиг, задача "пилить бюджет на проекте" или просто нет желания ничего изучать ибо и так платят, то конечно нет смысла.
...
Рейтинг: 0 / 0
18.01.2014, 21:51
    #38530696
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
chabapokВопрос, который меня интересует. Стоит ли использовать scala для новых проектов?

По мне, так scala нужно использовать уже за алголоподобный (а не С-подобный) синтаксис.
Начать можно с чисто процедурного программирования, чтобы все привыкли.

chabapokНормальной поддержки в разных ide нет, то что есть - плагины сделаные "для галочки", только в idea можно более-менее нормально с ней работать, и то есть странноватые моменты.

Да, это проблема. А что, кстати, за странноватые моменты?

chabapokНо есть подозрение, что это "язык на несколько лет", типа как груви - через какое-то время java до него дорастет, а про него все забудут.

Ну уродский вывернутый наизнанку синтаксис от java никуда не уйдёт.

А Груви в пример приводить нельзя- этот язык черезвычайно ненадёжен. Недавно я выяснил, что случайно поменяв параметр fork jvm в pom.xml на неверное значение можно получить NPE внутри тредпулэкзекьютера. Поубивал бы...
Скала- вполне себе замена java, а груви- для мелких поделок. В текущем проекте вставили кусочек на грейлсе, 4 странички- так он компилируется как весь остальной большой проект, и нашли одну багу в нём (т.е. нашли до нас, это она нас нашла). Всё же scala вроде не глючное поделие для глючных программ...
...
Рейтинг: 0 / 0
19.01.2014, 02:22
    #38530807
chabapok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
Странноватый момент - это например sbt таковое. Почему нельзя было сделать просто compile-on-save, как это делает netbeans для java?
Из за этого компиляция (даже последующая) занимает заметно дольше времени. Запустил - и надо ждать пока оно соберется. Это конечно не плюсовое приложение собирать, но все же пауза заметно нервирует.

Кроме того, есть проблемы с указанием main класса, того с которого запускать прогу. (точно уже не помню - возможно этот прикол наблюдался в эклипсе). Почему нельзя было сделать чтоб он выставлялся в конфигурации - непонятно. Обязательно нужно слева выбрать его, и только потом запускать. Т.е. перед каждым запуском я должен следить за тем какой из классов там слева выбран. Это вообще караул как задалбывает.

Со всплывающей документаций тоже проблемы - не показывается, а ведь могла бы.

больше не помню, смотрел скалу давно, забыл уже. Помню только вывод сделал - круто там только местами, а местами оно сырое и это ложка дегтя в бочке меда.
...
Рейтинг: 0 / 0
20.01.2014, 12:42
    #38531671
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
Тупой вопрос: если скала работает под jvm, то какие принципиальные отличия в байт-коде из-под скала и из -под javac, откуда эффективность?
...
Рейтинг: 0 / 0
20.01.2014, 13:30
    #38531742
Стоит ли использовать scala?
ЛагманТупой вопрос: если скала работает под jvm, то какие принципиальные отличия в байт-коде из-под скала и из -под javac, откуда эффективность?

Если писать на байткоде, то да, разницы никакой не будет.

А вообще, про какую эффективность вы говорите?
...
Рейтинг: 0 / 0
20.01.2014, 13:31
    #38531743
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
Ищущий Знания,

Про ваши +50% производительности.
...
Рейтинг: 0 / 0
20.01.2014, 13:32
    #38531746
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
А, там даже за 100
...
Рейтинг: 0 / 0
20.01.2014, 13:33
    #38531747
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
ЛагманТупой вопрос: если скала работает под jvm, то какие принципиальные отличия в байт-коде из-под скала и из -под javac, откуда эффективность?

Эффективность программиста. Байт-код там странноватый :)
...
Рейтинг: 0 / 0
20.01.2014, 13:34
    #38531751
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать scala?
Alexey Tomin,

Ну т.е. на скале программист без вправленного мозга все равно напишет так, как программист с вправленным, но на java ?
...
Рейтинг: 0 / 0
20.01.2014, 13:48
    #38531775
Стоит ли использовать scala?
ЛагманИщущий Знания,

Про ваши +50% производительности.

Это про сервер?
Там все просто. Дело не в синтаксисе языка. Это же очевидно.
Или вы правда думаете, что скала компилит какие-то особенные байтики? :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Стоит ли использовать scala? / 25 сообщений из 52, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]