powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Раз пятница: выбор языка под jvm
25 сообщений из 26, страница 1 из 2
Раз пятница: выбор языка под jvm
    #38289832
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, часто встречаю тут топики о выборе web framewokr`а ;) Я пойду чуть дальше: кто нить писал на grails что - то похожее на сайты?;) Что получилось? Какого размеры грабли? Плюсы-минусы? На хрена вы это делали: для саморазвития или вас заставили?
Касается других языков : scala, kotlin (не столько в разрез web, но и в целом)
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38291455
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так классифицирую - Groovy для скриптов, Scala для быстрого написания кода (в разы быстрее, чем на Java). Плюс, Scala для разминки ума. Ну и просто она мне нравится.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38296802
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ап. Про Scala буду слушать.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38296938
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv...Scala для быстрого написания кода (в разы быстрее, чем на Java)...
А можно поподробнее?
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297076
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

Чё подробнее --то -- Scala -- это просто лучшая Java, и всё, там вся хрень которую надо писать руками в Java (и которую часто пишет за тебя конечно твоё IDE) просто тупо писать не надо, и всё.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297122
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинЯ пойду чуть дальше: кто нить писал на grails что - то похожее на сайты?;)

Я писал. Не надо пробовать. Не начинай лучше даже. (Я тут где-то давал ссылки на свои пробы пера на тему grail/groovy - если не лом, можно и почитать)
Мнение по повоу чисто grails - Groovy тут не при чем.

Я б не стал гворить, что Scala это лучшая Джава. Scala клёвый по-своему язык, но, имхо, из другой области. А если уж хочется реально правильно на нем писать, т.е. так, как завещал М. Одерски, то это совсем другая тема. Но может и торкнуть:-)
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297127
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivShSerge,

Чё подробнее --то -- Scala -- это просто лучшая Java, и всё, там вся хрень которую надо писать руками в Java (и которую часто пишет за тебя конечно твоё IDE) просто тупо писать не надо, и всё.
То что вы пишите, это как раз groovy.

Scala это отличный (в смысле, другой) от Java язык со своей собственной идеалогией. Есть вещи, которые не имеют красивого решения в Java и отлично решаются в Scala.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297130
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvMasterZivShSerge,

Чё подробнее --то -- Scala -- это просто лучшая Java, и всё, там вся хрень которую надо писать руками в Java (и которую часто пишет за тебя конечно твоё IDE) просто тупо писать не надо, и всё.
То что вы пишите, это как раз groovy.

Scala это отличный (в смысле, другой) от Java язык со своей собственной идеалогией. Есть вещи, которые не имеют красивого решения в Java и отлично решаются в Scala.
Подробнее не опишите?
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297133
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоН,

Собственно, достаточно того, что Sacala это функциональный язык - это совсем другая парадигма
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297137
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HauerТимоН,

Собственно, достаточно того, что Sacala это функциональный язык - это совсем другая парадигма

Мозги надо повернуть немного. Забыть про переменные, например:-)
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297145
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вот, собственно. Если нравится, что максимум в списке правильно получать как-то так
Код: java
1.
2.
def maxList(maxSoFar : Int, list: List[Int]) : Int = if (list.isEmpty) maxSoFar else maxList(max(maxSoFar, list.head), list.tail)
def max2(arg1 : Int, arg2 : Int) : Int = if (arg1 > arg2) arg1 else arg2


, то добро пожаловать:-)
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297164
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как вообще entity описывают. Бизнес сущность.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297175
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА как вообще entity описывают. Бизнес сущность.

Да вообщем-то, так же, как и в Java или в Smalltalk каком-нибудь (если Вы такой старый опытный, что застали такое). Т.е. в целом никто не мешает писать, как на Java. Только смысл.. Особенно с выходом 1.8
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297270
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HauerДа вот, собственно. Если нравится, что максимум в списке правильно получать как-то так
Максимум в списке получается так:
Код: java
1.
int max = if (list.isEmpty) defaultValue else list.max



Бизнес-сущность так:
Код: java
1.
case class Person(val firstname : String, val lastname : String, val birthdate : Date)



В Scala есть не только замыкания с удобным синтаксимом. Там намного больше.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297273
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНЕсть вещи, которые не имеют красивого решения в Java и отлично решаются в Scala.
Подробнее не опишите?[/quot]
Самое простое, что есть - создание immutable классов с несколькими полями. В Java надо либо какую-то хрень городить типа builder, либо отказаваться от читаемости кода (в конструкторе больше 5 параметров, например). В Scala есть именованные параметры, поэтому там это будет выглядеть так (для описанное выше класса):
Код: java
1.
val person = Person(firstname = "Petya", lastname = "Pupkin", birthdate = "1990-01-01") 



Еще у них есть офигенные Trait да и много еще других интересных вещей.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297292
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvМаксимум в списке получается так:
Код: java
1.
int max = if (list.isEmpty) defaultValue else list.max




Вот блин, запороли мне пример:-) Ну не пришло мне ничего больше в голову. А я, собственно, пытался разницу в идее продемонстрировать. Если так написать, то это настолько же демонстрирует идею, как если бы я написал, что максимум в массиве на Java получается как Arrays.max(..)
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297462
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HauermaytonА как вообще entity описывают. Бизнес сущность.

Да вообщем-то, так же, как и в Java или в Smalltalk каком-нибудь (если Вы такой старый опытный, что застали такое). Т.е. в целом никто не мешает писать, как на Java. Только смысл.. Особенно с выходом 1.8
Не знаю что там будет в Java 1.8 но вот в Scala привлекает такое:
http://ru.wikipedia.org/wiki/Scala_(язык_программирования)#.D0.9A.D0.BB.D1.8E.D1.87.D0.B5.D0.B2.D1.8B.D0.B5_.D0.B0.D1.81.D0.BF.D0.B5.D0.BA.D1.82.D1.8B_.D1.8F.D0.B7.D1.8B.D0.BA.D0.B0

По поводу нововведений в Java 1.8 у меня большой скепсис. Это очень консервативный язык сегодня
в котором - главенствует засилье архитектурных кубиков и прочих ненужных вещей
которые нравятся манагерам и постановщикам задач. Я не жду никакого прорыва
от новых версий языка. Лучше пускай JVM улучают а с языками мы уж как нибудь
сами разберемся.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297464
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvБизнес-сущность так:
Код: java
1.
case class Person(val firstname : String, val lastname : String, val birthdate : Date)



В Scala есть не только замыкания с удобным синтаксимом. Там намного больше.
Это приятно. Осталось еще геттеры и сеттеры добавить и будет (!) Java код.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38297571
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, mayton!

> Не знаю что там будет в Java 1.8 но вот в Scala привлекает такое:

Главное в языке- простота концепций и решений. Формальное описание языка
должно занимать как можно меньше места.

Scala же проскочила простоту в своём развитии и ушла туда же, где нашли
свою могилу Algol-68, Ada и прочие монстры.

Всё же стыковка ООП (в полном варианте, как в eiffel) и ФП (тоже в
полном варианте) очень сложна и простое решение пока не найдено.

> По поводу нововведений в Java 1.8 у меня большой скепсис. Это очень
> консервативный язык сегодня в котором - главенствует засилье архитектурных кубиков и прочих ненужных
> вещей которые нравятся манагерам и постановщикам задач. Я не жду никакого прорыва
> от новых версий языка. Лучше пускай JVM улучают а с языками мы уж как нибудь сами разберемся.

Я бы с радостью перешёл на Kotlin, но страшно, блин. Поддержка небольшой
компаний, по сути одним человеком. Голова у него хорошо варит, но
сообщество нулевое.

--
Алексей
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38298320
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HauerТимоН,

Собственно, достаточно того, что Sacala это функциональный язык - это совсем другая парадигма

Что значит -- "совсем другая парадигма" ?
Ну да, другая, но две разные парадигмы друг другу не мешают, а даже вовсе наоборот.
Ну да, Scala функциональная и объектно-ориентированная. А Java только объектно-ориентированная.
Обе -- структурные языки.
Оно не мешает друг другу, а только помогает, дополняет.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38298326
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara
Главное в языке- простота концепций и решений. Формальное описание языка
должно занимать как можно меньше места.

Scala же проскочила простоту в своём развитии и ушла туда же, где нашли
свою могилу Algol-68, Ada и прочие монстры.


Э, ты не видал видимо настоящих монстров.

GKS_SamaraВсё же стыковка ООП (в полном варианте, как в eiffel) и ФП (тоже в
полном варианте) очень сложна и простое решение пока не найдено.


Здрасте, пожалуйста, приехали...
Чем же она сложна-то ? Объекты-- объектами, ФП- само по себе.
Они практически никак не пересекаются, они ортогональны.
И сколько замечательных примеров языков, которые это великолепно сочетают, есть : и Python, и Common Lisp
(я уверен, их есть больше), и Clojure, и Scala вот.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38298352
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 All

Ну ваще круть несусветная. Если Scala - полностью ООП следовательно на ней можно
без труда повторить все строительные кирпичики java и потихоньку смигрировать
Java проект на Java+Scala а потом pure-Scala. ООП особо интересует т.к. другие
девелоперы шарят только внём и консервативны как средневековые схоласты.

Поэтому еще вопросы:

1) Оптимизирующий компиллятор . Хотелось бы не терять перформанс. Java имеет годами
отшлифованный механизм компилляции а здесь - относительно новая лошадка. Че как.
Непонятно. Насколько оптимальный код будет генериться.

2) Пряники Java связанные с аннотированием и прочее. Хотелось-бы как-то поддержать.
Тоесть иметь возможность выставлять наружу скажем Rest-сервис написанный на Scala
или ORM-Entity с описателями филдов и методов.

2) Среда разработки . Уже поднял плагин для Idea. Пока полёт проходит нормально.
Но написал я ни много не мало а аж ПреведМир.

3) Интеграция. Смешивание кода . Как? Делать в 2 этапа сборку? Сначала
Scala а потом Java? Хлопотно. Вместе? Как?

4) Книжки. Обучение. Доки. На сайте www.scala-lang.org выкачал.

ScalaByExample.pdf
ScalaOverview.pdf
ScalaReference.pdf
ScalaTutorial.pdf

В какой последовательности читать? Что. Есть ли более приятные издания в бумажном виде?

Вобщем
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38298373
Hauer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

На русском, мне кажется, нет. Я бы почитал книжку самого Одерски (Odersky) Programming in Scala. Она есть в бумажном виде, но не у нас. В электронном есть, ну сами понимаете, где. Там же, кстати, есть видеокурс его же. Он специальный чувак, но в результате нормально излагает.
Ну и, в конце концов, он этот язык сделал...
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38298536
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

1. Быстродействие. Зависит от того, в каком стиле писать. Говорят, если писать в java-стиле, то быстродействие будет такое же, как и у Java. Но часто хочется функциональных фишек :). По различным тестам может отличаться в 2-3 раза по сравнению с java-кодом (и в те же несколько раз короче при этом). При необходимости можно и на java переписать будет. Да, сразу скажу - pattern matching очень медленный (something match ...) на кучу простых позиций (констант) будет через if'ы делаться.

2. Скала поддерживает java-аннотации полностью. Технически с java никакой разницы при их реализации нет (это один атрибут в байткоде).

2. Я в scala-ide (которая под eclipse) работаю. Иногда зависает намертво (или я слишком нетерпеливый) при поиске completion в сложных случаях. Иногда рефакторинг работает не идеально (любит for (x <- ...) портить у меня). В целом же достаточно неплохо. Проблемы компенсируются тем, что кода по сравнению с Java нужно писать гораздо меньше.

3. Есть плагины для http://davidb.github.io/scala-maven-plugin/example_java.html]maven. Есть плагины для sbt. В гугл по словам "scala java mixed". Да и ручками несложно на самом деле, я на питоне себе mixed-сборку писал. Сначала скармливаем все исходники (scala + java) скале и генерируем *.jar. Затем java отдаем только ее исходники и *.jar в classpath.

4. Вот про обучение ничего конкретного сказать не могу. Я когда-то полистал короткие справочники (то ли туториал, то ли описание фич). Потом уже когда начинал проекты просто гуглил необходимые вещи. Но у меня с другими FP достаточно много опыта к тому времени было, так что я более-менее представлял, что вообще бывает и по каким словам это можно искать.
...
Рейтинг: 0 / 0
Раз пятница: выбор языка под jvm
    #38298554
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton2 All
Ну ваще круть несусветная. Если Scala - полностью ООП следовательно на ней можно
без труда повторить все строительные кирпичики java и потихоньку смигрировать
Java проект на Java+Scala а потом pure-Scala.

Да. Это один из путей развития. Одна небольшая часть проекта начинает писаться на Scala.

maytonООП особо интересует т.к. другие
девелоперы шарят только внём и консервативны как средневековые схоласты.

С ООП в Scala все в порядке. Оно современное, в отличии от Java (см. Trait, поддержку generic)

mayton1) Оптимизирующий компиллятор . Хотелось бы не терять перформанс.

Если писать на Scala как на Java - просадка 2-3% (где-то читал). При добавлении функциональщины - могут быть более серьезные просадки производительности. Но тут case такой, что если очень мешает потеря производительности, можно переписать код в Java-style.
maytonLeonidvБизнес-сущность так:
Код: java
1.
case class Person(val firstname : String, val lastname : String, val birthdate : Date)



Это приятно. Осталось еще геттеры и сеттеры добавить и будет (!) Java код.
Scala сама генерит методы доступа, только старательно прячет это от программиста. Фактически, person.firstname = "Petya" приведет к вызову метода person.firstname=("Petya"). Если нужны именно get/set, то так:
Код: java
1.
2.
3.
4.
5.
6.
7.
case class Person(
@BeanProperty
val firstname : String, 
@BeanProperty
val lastname : String, 
@BeanProperty
val birthdate : Date)



mayton2) Пряники Java связанные с аннотированием и прочее.

Раньше были проблемы с аннотациями (вложенными, вроде). Решили довольно давно, года 4 назад. Сейчас все ok.

mayton2) Среда разработки . Уже поднял плагин для Idea.

IDEA лучшая IDE для Scala на сегодняшний день. Но все равно она сильно слабже IDE для Java.

mayton3) Интеграция. Смешивание кода . Как? Делать в 2 этапа сборку? Сначала
Scala а потом Java? Хлопотно. Вместе? Как?

Лучше cross-компиляцию в одном модуле (pom.xml) не делать. В целом Java из Scala вызывается на ура, в обратную сторону есть проблемы. Но они решаются. При необходимости можно написать небольшую Java-обвертку над классами Scala.

mayton4) Книжки. Обучение. Доки. На сайте www.scala-lang.org выкачал.

https://www.ozon.ru/context/detail/id/20070017/
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Раз пятница: выбор языка под jvm
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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