|
|
|
Scala
|
|||
|---|---|---|---|
|
#18+
rfqHett, в общем, у меня возникли те же чувства, что и у вас. Некоторые кроме чувств приводят весомые аргументы: http://www.mapdb.org/blog/scala_has_weakly_typed_syntax/ Но понимать тексты на Scala весьма выгодно в плане зарплаты. Лол, автор путает by-name параметры и лямбды, о чем тут можно говорить... А аргументы в стиле Код: java 1. 2. оказывается если писать стейтмент на двух строках, да еще и используя инфиксную нотацию -вот такая бяка может быть ппц... как можно в здравом уме приводить такие аргументы... Да, scala сложна, но не настолько как рисуют оналитеги типо этого. Она нашла свою нишу в bigdata, где по факту не нужна никакая магия, а просто функциональные коллекции, которые на голову выше чем в java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 11:51 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
> Можно начать программировать в стиле java, даже точки с запятой можно оставить в конце выражений. > И постепенно осваиваться. Я думаю это один из самых больших недостатков Скалы. Правильный подход - ломать практики Java поскольку они плохо ложаться на функциональное и "легковесное" программирование. А Скала позволяет писать Жава код, Куча скалистов - это бывшие жависты, продолжающие писать свою Жава лапшу. В итоге - все библиотеки и экосистема языка забита низкокачественными проектами в стиле Жава. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 15:48 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
Прежде всего, зачем вам читать эту простыню: я прогал 8 лет на джаве, я сижу 3 года на скале и возвращаться не собираюсь. Это как возвращаться на паскаль с С++. говоря субъективно, на scala надо писать, т.к. я не знаю ни одного человека, который вернулся бы обратно на java после хотя бы полугода разработки. говоря объективно: - scala как процедурно-объектный язык мощнее джавы по дизайну. В ней удобнее использовать лямбды, она обладает намного более мощным аналогом switch (pattern matching), её коллекции изначально заточены под операции, которые в джаве доступны только через стримы или внешнюю либу типа гуавы, в ней более гибкие упрощающие инкапсуляцию области видимости и т.д. и т.п. - scala/sbt как среда сборки пропагандирует современный подход к разработке с автоматической рекомипляцией/быстрым рестартом приложения. Идеологию Play framework следовало бы почитать всем разработчикам для JVM. - scala как технология представляет собой идеологию и набор библиотек для разработки эффективного асинхронного кода. Scala future, Akka, Finagle. - scala как функциональный язык позволяет перетянуть больше парадигм ФП в промышленное применение. В основном это касается стандартных монад (Option, Future, Either) и их композиции. Продвинутые темы, такие как монадные трансформеры, свободные монады, абстрактные типы и типонезависимый код всё еще на стадии эксперимента - нет 100% уверенности, что это упрощает разработку, а не наоборот И минусы: - нормальных учебников для новичков просто нет. Все книжки, которые я видел, быстро закапываются в сложности, что отпугивает многих. - scala компилируется значительно медленнее, чем java. В ФП-проектах время компиляции становится сравнимым с С++. - 100% надежной поддержки в IDE пока нет. Ситуация похожа на С++ в начале века - простой код обрабатывался IDE хорошо, но шаблоны посложнее сводили с ума анализатор. - минус, он же плюс: отладчик в скале малополезен. Из-за обилия лямбд проще переписать код так, чтобы в нем гарантированно не было ошибок, чем ставить точки останова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2017, 23:51 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
HettПодытожив все прочитанное вчера (а мыслей было на много больше чем я тут написал, что-то уж из головы все вылетело) - пришел к выводу, что это скорее инструмент фанатиков, помешанных на "идеальном коде", которые больше времени теоретизируют. Что скажете? Кину 5 копеек. Языки программирования создают не боги и не небожители. А обычные инженеры (зачастую). Языки становятся на долгие десятилетия стандартом общения между программистом и имплементацией. Как следствие. Ошибки или недостатки которые заложил создатель мы тащим долгие годы. Почему Джеймс Гослинг не заложил в java парадигму беззнаковой арифметики. Ведь процессоры прекрасно это поддерживали? Почему в первых версиях не было типа enum, не было generics, и не было семантики строкового аргумента внутри switch? Почему API сразу не поддержал out.printf, а потребовалось несколько лет чтобы осознать что это реально практично и полезно? Почему строки нужно сравнивать только через equals() а не через более короткий binary operator? Почему нельзя перегрузить + для сложения матриц и векторов? В какой-такой концепции ООП записано что этого делать нельзя? И такой поток "почему" у меня - бесконечен. И с другой стороны. Мартин Одерский. Профессор. Да еще и специализируется на ЯЗЫКАХ. Этот человек знает всё о всех парадигмах. Он не стал размениваться на мелочи. Он заложил в Scala ВСЕ-ВСЕ языковые парадигмы которые только существуют. Серъезно! Там только чорта в ступе не хватает. И если вы однажды (с похмелья) вдруг решили создать свой язык или DSL или скриптик .. то замрите (!) на минуточку и вспомните что в Scala это уже есть! Натурально. Фундаментальные стратегии работы с коллекциями такие как map, flatMap, fold воплощены в scala в то время как в Java к ним только-только подходят и то без понимания сути а инструментально, как побочка от работы со Streams. В Scala можно постулировать не то что жалкое целое число или комплексное или вектор. Можно объявить "группы", "кольца" и прочие материи высокого порядка математики и далее унаследовать от них поведение. В Scala решена проблема ромбовидного наследования. Решена бротва! Вы всё спорите в топиках ООП? Так знайте! Она - формализована в Scala и результат детерминирован. Никакого UB! Scala - статически типизирована на уровне компиллятора. А это значит что мы получаем формальное доказательство правоты нашего алгоритма после компилляции целого леса шаблонов и функций. И это значит что никаких ошибок рантайма при кастинге не будет! Это - закон! А что может быть лучше для программиста чем закон который гарантирует что код - верный. И еще раз. В Scala есть всё! Если чего-то нет - то читайте внимательно. Я сейчас не говорю о практике или о статистике использования этого ЯП. Это отдельный вопрос. Но теоретический батл Java уже давно проиграла. Что может инженеришко Гослинг противопоставить профессору языковых наук Одерскому!? Это вам не хер собачий! Это академичский подход. Это - наука! А не дурацкие фреймворки с бинами. Мдя.... Я не имею ентерпрайзных проектов на Scala. И его пока не знаю так хорошо чтобы трабл-шутить ошибки. Но у меня достаточно сильно развито природное инженерное любопытство которое будет и будет двигать меня в сторону этого сложного и интересного языка. Вот такие вот 5 копеек. Спасибо за внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 01:03 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
maytonHettПодытожив все прочитанное вчера (а мыслей было на много больше чем я тут написал, что-то уж из головы все вылетело) - пришел к выводу, что это скорее инструмент фанатиков, помешанных на "идеальном коде", которые больше времени теоретизируют. Что скажете? Кину 5 копеек. Языки программирования создают не боги и не небожители. А обычные инженеры (зачастую). Языки становятся на долгие десятилетия стандартом общения между программистом и имплементацией. Как следствие. Ошибки или недостатки которые заложил создатель мы тащим долгие годы. Почему Джеймс Гослинг не заложил в java парадигму беззнаковой арифметики. Ведь процессоры прекрасно это поддерживали? Почему в первых версиях не было типа enum, не было generics, и не было семантики строкового аргумента внутри switch? Почему API сразу не поддержал out.printf, а потребовалось несколько лет чтобы осознать что это реально практично и полезно? Почему строки нужно сравнивать только через equals() а не через более короткий binary operator? Почему нельзя перегрузить + для сложения матриц и векторов? В какой-такой концепции ООП записано что этого делать нельзя? И такой поток "почему" у меня - бесконечен. И с другой стороны. Мартин Одерский. Профессор. Да еще и специализируется на ЯЗЫКАХ. Этот человек знает всё о всех парадигмах. Он не стал размениваться на мелочи. Он заложил в Scala ВСЕ-ВСЕ языковые парадигмы которые только существуют. Серъезно! Там только чорта в ступе не хватает. И если вы однажды (с похмелья) вдруг решили создать свой язык или DSL или скриптик .. то замрите (!) на минуточку и вспомните что в Scala это уже есть! Натурально. Фундаментальные стратегии работы с коллекциями такие как map, flatMap, fold воплощены в scala в то время как в Java к ним только-только подходят и то без понимания сути а инструментально, как побочка от работы со Streams. В Scala можно постулировать не то что жалкое целое число или комплексное или вектор. Можно объявить "группы", "кольца" и прочие материи высокого порядка математики и далее унаследовать от них поведение. В Scala решена проблема ромбовидного наследования. Решена бротва! Вы всё спорите в топиках ООП? Так знайте! Она - формализована в Scala и результат детерминирован. Никакого UB! Scala - статически типизирована на уровне компиллятора. А это значит что мы получаем формальное доказательство правоты нашего алгоритма после компилляции целого леса шаблонов и функций. И это значит что никаких ошибок рантайма при кастинге не будет! Это - закон! А что может быть лучше для программиста чем закон который гарантирует что код - верный. И еще раз. В Scala есть всё! Если чего-то нет - то читайте внимательно. Я сейчас не говорю о практике или о статистике использования этого ЯП. Это отдельный вопрос. Но теоретический батл Java уже давно проиграла. Что может инженеришко Гослинг противопоставить профессору языковых наук Одерскому!? Это вам не хер собачий! Это академичский подход. Это - наука! А не дурацкие фреймворки с бинами. Мдя.... Я не имею ентерпрайзных проектов на Scala. И его пока не знаю так хорошо чтобы трабл-шутить ошибки. Но у меня достаточно сильно развито природное инженерное любопытство которое будет и будет двигать меня в сторону этого сложного и интересного языка. Вот такие вот 5 копеек. Спасибо за внимание. Взвился бывший алкоголик, Матершинник и крамольник, Надо выпить треугольник, На троих его даёшь. Разошёлся, так и сыпет, Треугольник будет выпит, Будь он параллелепипед, Будь он круг, едрёна вошь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 05:20 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
scfИ минусы: - нормальных учебников для новичков просто нет. Все книжки, которые я видел, быстро закапываются в сложности, что отпугивает многих. - scala компилируется значительно медленнее, чем java. В ФП-проектах время компиляции становится сравнимым с С++. - 100% надежной поддержки в IDE пока нет. Ситуация похожа на С++ в начале века - простой код обрабатывался IDE хорошо, но шаблоны посложнее сводили с ума анализатор. - минус, он же плюс: отладчик в скале малополезен. Из-за обилия лямбд проще переписать код так, чтобы в нем гарантированно не было ошибок, чем ставить точки останова. это очень весомые минусы для промышленной разработки. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 11:52 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
Это правда. Под Scala пока нет вменяемого учебника. Тоесть нет дидактического материала подобного тому что пишет Шилдт, Хорстман. Нет наработанных практик code-review. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 13:14 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
maytonТоесть нет дидактического материала подобного тому что пишет Шилдт, Хорстман. . Кей Хорстман "Скала для нетерпеливых" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 14:16 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
maytonЭто правда. Под Scala пока нет вменяемого учебника. Тоесть нет дидактического материала подобного тому что пишет Шилдт, Хорстман. Нет наработанных практик code-review. Т.е. нету закостенелой единственно верной непогрешимой точки зрения, известной как "лучшие практики". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 14:30 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
переход на версию 2.12 сломал нафиг проект, написанный под 2.11.7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 15:49 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
ponuchпереход на версию 2.12 сломал нафиг проект, написанный под 2.11.7 Интересно, вы разобрались, что конкретно поломалось? Бинарную совместимость на уровне библиотек никто не обещал, например... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 21:20 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВУ scala мощней система типов, больше уровень абстракции. Можно писать более короткие программы, но и порог вхождения больше.Отлично, немного экстраполируем -> нужен бесконечно сложный абстрактный язык, но и программы на нем писать будет не надо! Ява взлетела по двум причинам (причем взлетела именно в той области что есть): - достаточно простой и детерминированный в написании и поддержке (когда определились со стеком) - достаточно кроссплатформенный (а времена ее создания были как раз самые неопределенные) Переплюнуть Кобол №2 будет сложно. Хоть скале, хоть чему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 21:55 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
dimonz80maytonТоесть нет дидактического материала подобного тому что пишет Шилдт, Хорстман. . Кей Хорстман "Скала для нетерпеливых" Дада. Это моя настольная книга. Но она не годится в качестве учебника тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2017, 22:09 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
dimonz80maytonТоесть нет дидактического материала подобного тому что пишет Шилдт, Хорстман. . Кей Хорстман "Скала для нетерпеливых" Скорее нет книги аналогичной Эффективная Java от Блоха. С best practice и стандартизированными подходами к решению задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 16:21 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
maytonЭтот человек знает всё о всех парадигмах. Он не стал размениваться на мелочи. Он заложил в Scala ВСЕ-ВСЕ языковые парадигмы которые только существуют. Серъезно! Там только чорта в ступе не хватает. И это весьма плохо. Поскольку вынуждает тратить на освоение языка куда больше сил и времени нежели реально надо. Мастодонты реализующие все и вся регулярно появляются и проваливаются. Например, был такой язык PL/I. Вчистую проигравший С и Pascal. Почему? Было очень мало программистов освоивших его полностью. Аналогичная ситуация с противостоянием С++ и Delphi в коммерческом секторе, С vs C++ в написании драйверов. Ну неохота тратить время на тысячи бесполезных тонкостей. В последнем случае формально используются компилятор С++, но реально пишут используя лишь некоторые расширения к С. Называть Гослинга инженеришкой глупо. Гослинг сознательно урезал язык и большое ему за это спасибо. Хотя, если бы Java была бы разжиревшим слоном, то она бы не пришла к языку № 1 в мире. Он взял концепции оправдавшие себя и выкинул все что без особой надобности. Ну что ж, академические языки потому и не находят применения в коммерческом секторе, что их мощь чаще вынуждает тратить силы впустую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 09:23 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
quot Hett]Вот вчера не мог уснуть и решил почитать про эту Scala. Просмотрел несколько разных статей на тему "Почему скала в овер100500 раз удобнее чем ява" и, честно говоря, так и не понял. Ну как бы Java обскакать по удобству очень несложно, язык крайне неудобный. Одна невстроенность в язык BigDecimal уже много стоит. Это для языка, который используется для бизнес-приложений! - Ну можно какие-то моменты более кратко выразить в коде, но это какой-то сомнительный плюс. это уже немало! Если тебе это не важно, почему на ассемблере не пишешь? - Функциональное программирование - действительно ли оно нужно?.. почему бы и нет? например, оно позволяет автоматически распараллеливать выполнение программы. Подытожив все прочитанное вчера (а мыслей было на много больше чем я тут написал, что-то уж из головы все вылетело) - пришел к выводу, что это скорее инструмент фанатиков, помешанных на "идеальном коде", которые больше времени теоретизируют. Что скажете? ты непрофессионал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:02 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
[quot Blazkowicz]ФП реально нужно. Благодаря лямбдам решение многих моих насущных задач упростилось в разы. Ну, лямбды - это еще далеко не все ФП... . Для бизнеса актуальна и проблема кадров. Порог входа в язык ещё выше. А рынок и так голодает от недостатка квалифицированных разрабов. "еще выше"? Выше чего, нулевого порога в Java? Он просто какой-то есть, ТС тому свидетель... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:07 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
SiemarglЕвгенийВУ scala мощней система типов, больше уровень абстракции. Можно писать более короткие программы, но и порог вхождения больше.Отлично, немного экстраполируем -> нужен бесконечно сложный абстрактный язык, но и программы на нем писать будет не надо! В конечном итоге да! Но сумма интеллекта величина постоянная, а количество населения постоянно растет. Был например derive , написанный на диалекте lisp, который помещался на дискетку 1,2 дюйма и который позволял работать со всей известной мне математикой! MathCad и Maple сильно отставали по возможностям. SiemarglЯва взлетела по двум причинам (причем взлетела именно в той области что есть): - достаточно простой и детерминированный в написании и поддержке (когда определились со стеком) - достаточно кроссплатформенный (а времена ее создания были как раз самые неопределенные) Переплюнуть Кобол №2 будет сложно. Хоть скале, хоть чему. Ява еще долго будет в тренде, ибо формоклепательство и тривиальная кодописанина пользуется спросом. Такие языки, как scala предназначены для решения серьезных задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:15 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
MasterZivэто уже немало! Если тебе это не важно, почему на ассемблере не пишешь? Краткость - не всегда сестра таланта. MasterZivпочему бы и нет? например, оно позволяет автоматически распараллеливать выполнение программы. Мой вопрос скорее подразумевал парадигму ФП в чистом виде, коим обсуждаемый язык преподносится. MasterZivты непрофессионал. Даже и не собирался себе этот титул присуждать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:21 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
HettМой вопрос скорее подразумевал парадигму ФП в чистом виде, коим обсуждаемый язык преподносится. И чтобы не цеплялись к словам, поправлюсь, имел в виду чистым от процедурного стиля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:24 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
MasterZivпочему бы и нет? например, оно позволяет автоматически распараллеливать выполнение программы. Сомнительное утверждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:58 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
https://ru.coursera.org/learn/progfun1 есть такой курс - его нужно пройти и решить для себя нужна ли скала или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 11:17 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВMasterZivпочему бы и нет? например, оно позволяет автоматически распараллеливать выполнение программы. Сомнительное утверждение. Erlang https://ru.wikipedia.org/wiki/Erlang#.D0.9F.D0.B0.D1.80.D0.B0.D0.BB.D0.BB.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5_.D0.B2.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2017, 13:26 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
Часто вижу люди упоминают что язык Х не такой мощный как Скала. Инересно увидеть пример кода на Скале демонстрирующий это, желательно короткий который демонстрирует это. Но реальный, не просто какой-то абстрактный функтор или монада, а привязанное к чему-то совершенно реальному и практичному, т.е. этот пример должен реально использоваться и использоватся часто и приностиь значительную пользу . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2017, 23:28 |
|
||
|
Scala
|
|||
|---|---|---|---|
|
#18+
private, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А теперь прошу - то же самое на джаве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2017, 08:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39450113&tid=2122898]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 452ms |

| 0 / 0 |
