|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Добрый день, уважаемые форумчане. Я извиняюсь что пишу сюда, но отдельного форума по Scala нет. Подскажите пожалуйста, есть ли смысл изучать Scala и насколько это востребованный/будет востребованным язык? Если выбор дальнейшего языка предстоит из C# и Scala, что стоит выбрать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2018, 09:40 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Vladimir2018, Форума нет, но поиск по этой ветке есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2018, 10:03 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Из C# переходить в Java, потому что это самый распространённый язык на платформе Java. В платформе .NET тоже много языков, но вы пользуетесь самым распространённым. Зачем переходить с распространённого на маргинальный. Когда освоите Java, тогда у вас возникнет своё представление, стоит ли вдобавок к нему использовать маргинальные языки. Сейчас среди маргинальных стал относительно модным Kotlin. Так что если интересует маргинальное, то может лучше его (узнать самостоятельно, мне не нужны ни Scala, ни Kotlin). Без знания Java всё равно не обойтись, так как надо освоить библиотеку классов JDK, а документация к ней рассчитана на знающих Java. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2018, 10:32 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
авторЕсли выбор дальнейшего языка предстоит из C# и Scala, что стоит выбрать? Rust. Вполне серьезно. Говорю осознанно имея длительную практику использования Scala, C#, C... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2018, 14:02 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Scala и Kotlin немного похожи (в обоих есть higher order functions, тип после названия переменной). Kotlin на мой взгляд нагрузили всякими костылями типа reified, companion object/@JvmStatic. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2018, 14:42 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
- jperl, jphp почили незамеченными - groovy не выстрелил - jython не выстрелил - scala выстрелила (за всех говорить не буду, от себя: простой читаемый текст, REPL, простой запуск скриптов, тесная интеграция с богатым набором java-библиотек, довольно простая поддержка для j2ee от maven и gradle, ну и свои монстры от typesafe, успех библиотек, написанных на scala, напр. akka, даже для андроида пишут на ней ) - java начала "подтягиваться", уходит в opensource, надеюсь, не теряет контроля корпорациями над ней, т.к. и sun и oracle тщательно блюли разброд и шатания - с# как альтернатива java (от мелкософт) уже вовсю шурует и на линукс-платформах, причем прогресс также космический, весь вопрос сейчас в оценке долговременности и суммах поддержки тех или иных продуктов (архитекторами продукта, либо сообществом), принятием менеджментом будущих решений о применении той или иной технологии и взаимном влиянии друг на друга. причем будут влиять и узкие технологии, как например взлёт python после появления tensorflow. а java-библиотеки тут проиграют, вероятно по скорости, хотя и могут воспользоваться jni-подходом. например, звезд на гитхабе на deep learning на java и scala сильно мало (хотя Spark сильно потеснил всё на больших данных), всё у питона. а это глубокое обучение, скоро будет глубоким влиянием. микрософт тут пока вообще догоняет на питоне. да и политика не за горами, всё могут просто запретить :) останется только opensource на уровне МСВС 5.0. трудна оценка, очень трудна, для специалистов высокой квалификации уже сейчас требуют в вакансиях микс обеих технологий. и большие данные становятся всё больше с каждым днём, превращаясь из data lake в data universe. так что, не торопясь - ява, скала, дотнет на досуге. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2018, 21:09 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
nexomaтрудна оценка, очень трудна, для специалистов высокой квалификации уже сейчас требуют в вакансиях микс обеих технологий. и большие данные становятся всё больше с каждым днём, превращаясь из data lake в data universe. так что, не торопясь - ява, скала, дотнет на досуге. Обеих технологий - это каких ? Если java/scala то есть такое, java/dotnet нигде не видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 03:51 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Scala к настоящему моменту отъела довольно приличный кусок market share от Java, что в принципе уже делает ее вполне mainstream языком. Есть огромная проблема с маркетингом от Lightbend/Typesafe, который иногда больше вредит чем помогает. С другой стороны, популярность Scala как росла, так и растет: если взять, например, мою статью двухлетней давности "Analyzing Scala popularity" и сравнить с новыми числами indeed.com, то можно увидеть 30% прирост, что неплохо. Котлин действительно похож, но есть несколько отличий. Если отбросить продвинутые вещи типа НКТ, которых в Котлине нет, то остается два момента. Во-первых, maturity экосистемы. Если брать Скалу сейчас, то можно без проблем писать приложение не выходя за рамки Scala-стэка (sbt, Play, MacWire, ScalikeJDBC, Circe, etc). Если брать Котлин, то многое нужно будет брать из Java. Во-вторых, дизайн языка: если в Скале большая часть проблем имеет универсальное решение (flatMap/map и for expressions); то в Котлине решения более специфичны (nullable types, coroutines). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 04:15 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Пару недель назад общался с рекрутером этой конторы https://www.lotusflare.com. У них интересный стек. Scala, Kafka, Spark, NoSQL. Реальная вакансия. Но не мой профиль. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 08:53 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Vladimir2018 есть ли смысл изучать Scala и насколько это востребованный/будет востребованным язык? Изучать смысл есть. Потому как в Scala создатели старались напихать всех возможных концепций помаксимуму. Поэтому их изучение это хороший буст в умениях. Полученые знания можно с переменным успехом потом применять и в других языках. Даже если готовой функциональности в языке нет, зачастую можно использовать аналогичные приёмы и без этого. Vladimir2018 Если выбор дальнейшего языка предстоит из C# и Scala, что стоит выбрать? Необычный вопрос. И, как всегда, без указания конечной цели выборе. .NET и Java это две разные платформы. Работу на Java найти проще. Scala выстрелила в своё время, но вытеснить Java как основной язык Java платформы она не способна по ряду причин. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 09:22 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Статью Девида Поллака нужно добавлять ко всем подобным топикам. Я так думаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 13:22 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Статья обиженного на Typesafe Поллака к перспективам Scala не имеет никого отношения и рост популярности языка с момента ее выхода - лишнее тому подтверждение. Однако, то что фамилия Поллака всплывает в данном топике весьма показательно. Помнится, в свое время на Quora кто-то писал, что не рассматривает Скалу "так как Пол Филипс критиковал ее систему типов". Бедняга, конечно, не в курсе, что Пол Филипс как писал на Скале, так и пишет. В статье (по ссылочке выше) есть ссылка на пост Мануэля Бернарда "5 years of Scala and counting". Вот ее имеет смысл почитать - там как раз 90% форумных мифов развинчивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2018, 15:30 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Я не говорю что Поллак прав. Я просто акцентирую на том что в Scala заложены такие возможности которые для обычных 99% бизнесовых задач не нужны. Кроме того если в скрам команде есть программист гений который будет обычные задачи бизнеса решать с привлечением сущностей высокого порядка то он поставит в сложное положение code review и команду. Формально он не нарушил правила разработки java. Но создал ситуацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 09:36 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
BlakowitzИзучать смысл есть. Потому как в Scala создатели старались напихать всех возможных концепций помаксимуму. Поэтому их изучение это хороший буст в умениях. Полученые знания можно с переменным успехом потом применять и в других языках. Нет смысла изучать, раз это непригодно для использования. Создатель Scala - один. Швейцарский профессор Мартин Одерски. Он сам рассказал, что ему университет дал свободу творчества. Вот он и создал язык, напихав в него всевозможные достоинства. Но при создании языка не было определённой цели, и так как он был не программист, то ему было трудно понять, что нужно программистам. Подобным образом - напихиванием в язык всех возможных достоинств не программистами - были созданы Nemerle (не менее уродливый язык, состряпали 3 польских аспиранта, но они были не дураки, раз вскоре его забросили) и PL/I и Ada (были созданы комитетами чиновников и навязаны программистам, так что в течение некоторого времени использовались). Но хоть Scala не нужен для программирования, он годится для фанатствования и изображения свой мнимой крутизны: "мне надо то, что 99% процентам программистам не надо". Ну да, тебе надо выпендриваться. Но в этом у Scala возник конкурент - Kotlin. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 09:59 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Partisan MНет смысла изучать, раз это непригодно для использования... Но хоть Scala не нужен для программирования, он годится для фанатствования и изображения свой мнимой крутизны: "мне надо то, что 99% процентам программистам не надо". Ну да, тебе надо выпендриваться. Но в этом у Scala возник конкурент - Kotlin. Да ну! А пацаны-то и не знали. Конечно, не в счет фреймворки Kafka, Spark, Akka - и это то, что пришло на ум сразу. Банк "Тинькофф" вовсю кодит на Scala. Ну и всякая "мелочь" для полноты картинки: Twitter, LinkedIn. Да, язык не без особенностей. Ну и что из того? Он используется и используется там, где реально тяжелые задачи, реально нагруженный продуктив. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 15:01 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
fplabPartisan MНет смысла изучать, раз это непригодно для использования... Но хоть Scala не нужен для программирования, он годится для фанатствования и изображения свой мнимой крутизны: "мне надо то, что 99% процентам программистам не надо". Ну да, тебе надо выпендриваться. Но в этом у Scala возник конкурент - Kotlin. Да ну! А пацаны-то и не знали. Конечно, не в счет фреймворки Kafka, Spark, Akka - и это то, что пришло на ум сразу. Банк "Тинькофф" вовсю кодит на Scala. Ну и всякая "мелочь" для полноты картинки: Twitter, LinkedIn. Да, язык не без особенностей. Ну и что из того? Он используется и используется там, где реально тяжелые задачи, реально нагруженный продуктив. На Ада тоже программировали.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 15:16 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Partisan MНо хоть Scala не нужен для программирования, он годится для фанатствования и изображения свой мнимой крутизны: "мне надо то, что 99% процентам программистам не надо". Ну да, тебе надо выпендриваться. что? не осилил Partisan M? бывает ... для эксперимента попробуй следующий код переписать со SCALA на JAVA. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94.
это кусок реального кода генератора исходников на С из моего проекта кодогенератора BlackBox Partisan Mнапихав в него всевозможные достоинства. Но при создании языка не было определённой цели, и так как он был не программист, то ему было трудно понять, что нужно программистам. за одно обсудим. нужен ли программистам паттернматчинг, которого до сих пор в JAVA нет. хоть какой то type inference в JAVA недавно прикрутили, который в SCALA с самого рождения. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 18:25 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
[quot Cheblin] это кусок реального кода генератора исходников на С из моего проекта кодогенератора BlackBox /quot] Очень плохой пример как демонстрация возможностей скалы. Я бы вообще кусок этого когда сложил в отдельный файл. Если уж очень хочется засунуть прямо в код, в джаву тоже вроде завезли multiline strings. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 19:02 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblin, вау-эффекта нет. Либо ты ошибся и хотел вообще другое запостить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 19:15 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
cossack5 Я бы вообще кусок этого когда сложил в отдельный файл все это уже пройденный этап. даже Twirl в начале использовался. оказалось НЕ практичным. когда пишешь кодогенератор генерируемый код и данные очень сильно переплетены и держать в голове контекст генерируемого кода ,которого фактически ещё, очень не непросто cossack5в джаву тоже вроде завезли multiline strings. ой, я что то пропустил. надо мне обновить свои знания. поподробнее можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 19:33 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblinой, я что то пропустил. надо мне обновить свои знания. поподробнее можно. http://openjdk.java.net/jeps/326. Если бы еще добавили string interpolation, было бы еще лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 19:37 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
maytonCheblin, вау-эффекта нет. вау-эффект обещаю, выкладывай JAVA аналог. Либо ты ошибся и хотел вообще другое запостить. я специально выложил очень простую в понимании, даже не подготовленному читателю, фичу SCALA. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 19:37 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
cossack5 http://openjdk.java.net/jeps/326. читаю. This will be a preview language feature. это какие-то сферические мультистроки. мне у себя скомпилировать на последней версии JDK не удалось. приведите рабочий код. спасибо. Если бы еще добавили а может просто перестать ждать и открыть для себя SCALA? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 19:53 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblin This will be a preview language feature. это какие-то сферические мультистроки. мне у себя скомпилировать на последней версии JDK не удалось. приведите рабочий код. спасибо. Оно вроде было намечено на jdk 11. Видимо, передумали. Cheblinа может просто перестать ждать и открыть для себя SCALA? Я для себя уже давно открыл. Но у скалы тоже есть минусы: 1) никакая поддержка IDE (та же idea неправильно показывает ошибки в коде, нет многих quick actions). 2) местами специфичный синтаксис, и опять idea которая не хочет здесь помогать сделать "чтоб скомпилировалось") 3) есть еще scala native, scala js, которые вроде никому не нужны, но на них тоже затрачиваются ресурсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 20:05 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
cossack5, Оно вроде .... уж начал думать что-то пропустил. тоже есть минусы: единственный минус SCALA - высокий порог вхождения. от чтения документации, до работоспособного кода, ( написанного действительно как на SCALA, а не в стиле "пишем на SCALA в стиле JAVA" ) значительная дистанция. в этом смысле у Rust, к сожалению, ещё более высокий порог... очень мало программистов сочетающих в голове низкоуровневое С и функциональщину SCALA или Хаскеля. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 20:18 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblinединственный минус SCALA - высокий порог вхождения. от чтения документации, до работоспособного кода, ( написанного действительно как на SCALA, а не в стиле "пишем на SCALA в стиле JAVA" ) значительная дистанция. Мне не очень нравятся статические методы в scala, т.е. если мне в обычном классе нужны статические методы, я должен создать некий object с таким же именем и в нем писать эти методы. Как по мне, было удобно, если бы статические методы можно было писать и в object, и в class (чтобы не писать два раза object/class). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 20:26 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
cossack5, некий object с все Ваши неудобства - последствия JAVA аквариума. напротив, именно с object, в SCALA всё удивительно логично. особенно в контексте, наличия traits . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 20:39 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
CheblinmaytonCheblin, вау-эффекта нет. вау-эффект обещаю, выкладывай JAVA аналог. Аналог чего? Постарайся в нескольких фразах описать идею. У меня нет времени читать все-все сорцы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 22:06 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Partisan MСоздатель Scala - один. Швейцарский профессор Мартин Одерски. Он сам рассказал, что ему университет дал свободу творчества. Вот он и создал язык, напихав в него всевозможные достоинства. Но при создании языка не было определённой цели, и так как он был не программист, то ему было трудно понять, что нужно программистам. А что нужно программистам? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2018, 23:00 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
maytonА что нужно программистам? бабло ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 00:35 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
maytonCheblinпропущено... вау-эффект обещаю, выкладывай JAVA аналог. Аналог чего? Постарайся в нескольких фразах описать идею. У меня нет времени читать все-все сорцы. Вы не внимательны. я писал выше для эксперимента попробуй следующий код переписать со SCALA на JAVA. представите на JAVA приведенную выше одну строку написанную на SCALA, получите вау-эффект ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 03:59 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
CheblinВы не внимательны. я писал выше для эксперимента попробуй следующий код переписать со SCALA на JAVA. представите на JAVA приведенную выше одну строку написанную на SCALA, получите вау-эффект здесь похоже только вы на своей волне - я вот тоже ничего не понял: вы привели какой-то код на C и ссылку на multiline с интерполяцией, что предлагается переписать и зачем? от отсутствия multiline никто за все время существования java не умер, а интерполяция строк - фича довольно сомнительная, ибо: совершенно непонятно как IDE будет поддерживать зависимости - ловить баги в рантайме оно нафиг не нужно (тут с грустью вспоминаем эклипс, который jsp толком не умел) это прямой путь к разного рода уязвимостям (XSS, XSRF, RCE, SQL injection и пр.), потому как интерполироваться оно должно в зависимости от контекста, а не абы как (как в scala ) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 06:47 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblinmaytonпропущено... Аналог чего? Постарайся в нескольких фразах описать идею. У меня нет времени читать все-все сорцы. Вы не внимательны. я писал выше для эксперимента попробуй следующий код переписать со SCALA на JAVA. представите на JAVA приведенную выше одну строку написанную на SCALA, получите вау-эффект Начнем с того что я бы вообще так не делал. Это хардкод. Я бы постарался генерализировать идею и описать ее в терминах ООП и композиции. А а java есть фреймворк freemarker который решает аналогичные вещи. Или apache velocity. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 08:08 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Андрей Панфиловздесь похоже только вы на своей волне - я вот тоже ничего не понял: вы привели какой-то код на C и ссылку на multiline с интерполяцией, что предлагается переписать и зачем? это НЕ код на С. это одна SCALA мультистрока. то, что видно как С код - это так подсветка кода всё разукрасила. поддержки SCALA на сайте нет. Андрей Панфиловот отсутствия multiline никто за все время существования java не умер, а интерполяция строк - фича довольно сомнительная, ибо: как Вам там пишется на JDK 1.1 ? от отсутствия джинериков смертей не наблюдается? Андрей Панфилов а интерполяция строк - фича довольно сомнительная, ибо: понятно. нету - значит и не нужно. Л - логика! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 08:57 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
maytonНачнем с того что я бы вообще так не делал. Это хардкод. Я бы постарался генерализировать идею и описать ее в терминах ООП и композиции. А а java есть фреймворк freemarker который решает аналогичные вещи. Или apache velocity. весь приведенный перечень инструментов доступен в SCALA. Соответственно все они были мной испытаны и проверены. заявляю ответственно. Это всё Ацтой. и в смысле удобства программирования, и в смысле поддержки в IDE, и в смысле скорости генерации текста. Быстрее и эффективнее Twirl (который хадкордит во время компиляции все, до чего дотянется) ничего нет. Но это всё предназначено и пригодно только для генерации web страниц. Для кодогенерации НЕ пригодно. В чем отличие? В веб страницах в основном много контента и мало управляющих конструкций. При кодогенерации наоборот. Контент в ужастно мелкой грануляции (вплоть до ставить или нет запятую / точку с запятой в данном месте ) и гигантская мешанина управляющих конструкций. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 09:13 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblinзаявляю ответственно. Это всё Ацтой. Нет, безответственно. FreeMarker и Velocity написаны на Java и с успехом могли бы применяться в Scala, если бы любителям Scala не хотелось выпендиваться, как в этой цитате. Нормальное для них видите ли недостаточно хорошо. Правда, Velocity устарел. FreeMarker популярен и применяется в важных программных средствах. Но есть ряд других генераторов шаблонов на Java, из которых можно выбирать. Меня например заинтересовал некий Thymeleaf, потому что он применяется в Spring (наряду с FreeMarker). В FreeMarker единственная проблема - если в программу входит более старая его версия, тогда надо исходный код шаблона FreeMarker делать с учётом её возможностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 09:23 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblinэто НЕ код на С. это одна SCALA мультистрока. то, что видно как С код - это так подсветка кода всё разукрасила. поддержки SCALA на сайте нет. getClass().getResourcesAsStream() - вроде нет никакого повода бежать и строчить минеты создателям scala, при этом жава код сам по себе, а остальное само по себе, и нет никакой лапши как в PHP. CheblinАндрей Панфиловот отсутствия multiline никто за все время существования java не умер, а интерполяция строк - фича довольно сомнительная, ибо: как Вам там пишется на JDK 1.1 ? от отсутствия джинериков смертей не наблюдается?А чего? в жаву уже завезли женерики? CheblinАндрей Панфилов а интерполяция строк - фича довольно сомнительная, ибо: понятно. нету - значит и не нужно. Л - логика!Вы там в своем Китае читать разучились судя по всему, на мой взгляд я вполне доступно обосновал почему интерполяция - зло, если бы скала была бы столь же популярна как и жава (а не иметь три более-менее стрельнувших проекта из-за чего причислять себя к ылитарным погромистам), то из-за этой интерполяции каждый день бы новые CVE появлялись, нашлепанные ылитарными погромистами. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 09:38 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Cheblin, Вот именно управляющих конструкций в примере не увидел. Может пример неудачный? Я так понимаю вы говорите, что такие встроенные конструкции позволяют не переключать контекст? А как такое в последующей поддержке? Такая длинная чужеродная простыня посреди кода выглядит сомнительно с точки зрения читабельности. А если там посередине еще и сложная логика в выражениях? В целом, если стоит задача кодогенерации со сложной логикой, зачем использовать такое низкоуровневое средство как шаблон? Почему не строить АСТ и по нему уже генерить код, тем самым разнеся логику и саму кодогенерацию? Ну и в целом выпячивание именно мультистрок и интерполяции как килер фичи выглядит сомнительно. Почему неискушенный читатель должен предпочесть scala, а не, скажем, groovy, где такие же строки? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 09:40 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Подытожу для себя. Мультистроки и интерполяция - это не та киллер-фича с которой надо выходить на Scala-презентацию. Много языков имеют строковые подстановки с вычислением выражения но это не сделало их выдающимися. Нужно привести пример кода который на уровне парадигмы принципиально сложно повторить в других ЯП в сравнение со Scala. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 10:02 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
мне тоже непонятно в чем крутизна примера, если есть 1001 других способов показать что скала крутая. Мне например очень нравится концепция dependent-types. В данном примере тип возвращаемого результата метода handle зависит от ЗНАЧЕНИЯ передаваемого в метод параметра. Передали LocalComputation - метод вернет LocalResponse, передали RemoteComputation - вернули RemoteResponse. Всего пару строк кодаи мощь системы типов скалы. Попробуйте переписать на java чо:) Многие java программисты даже не задумываются о том, сколько всего можно переложить на компилятор. Да, возможно дольше писать, но я лучше напишу так, чем миллион тестов потом:) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:18 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Нельзя редактировать свои посты, бесит. Вот правильный код с комментариями - Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:21 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Ну или вот, классика. DSL for Payrol Calculator, readable by business и обратите внимание, все steps имеют свой тип(фантомный), Step[PreDeductions] Step[Final] и тд. Если бизнес чел перепутает шаги местами,то это вызовет компилейшен эррор. Опять же, желающие могут попробовать силы в переписывании на java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67.
Ну и да, код можно еще упрощать и упрощать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:33 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
А как насчет нормальной поддердержки higher order functions ? Код: java 1. 2. 3. 4. 5. 6. 7.
Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 12:42 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
забыл никМне например очень нравится концепция dependent-types. В данном примере тип возвращаемого результата метода handle зависит от ЗНАЧЕНИЯ передаваемого в метод параметра. Передали LocalComputation - метод вернет LocalResponse, передали RemoteComputation - вернули RemoteResponse.Чет я не особо фишку уловил, в жаве не так чтоли? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 16:15 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Андрей ПанфиловЧет я не особо фишку уловил, в жаве не так чтоли? А теперь добавьте LocalResponse и LocalComputation и сделайте чтобы метод handle возвращал Future<T> Код: java 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 16:57 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
забыл никА теперь добавьте LocalResponse и LocalComputation и сделайте чтобы метод handle возвращал Future<T> Код: java 1. 2. 3. 4. 5.
Ничего не поменялось: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 17:17 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Кмк в Scala лучше система типов. По крайней мере generic collection of primitives выглядит как в c++ ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 17:28 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Да, вы правы. Я старался минимизировать пример, но убрал всю соль, действительно в таком виде его можно перепистаь на Java без особых проблем. В полном примере есть использование implicit фич, так что не охота было перегружать. Если интересно, то это частный случай так называемого magnet pattern, ознакомиться можно здесь - А как насчет вот такого примера? Есть франшиза, есть персонажи. Есть метод, который должен компилироваться только если персонажи принадлежат данной франшизе. Сможете повторить на Java? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 18:28 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
maytonКмк в Scala лучше система типов. По крайней мере generic collection of primitives выглядит как в c++ То что вам кажется, является неоспоримым общепризнанным фактом. Несомненно система типов Scala в разы мощнее, не дотягивает конечно до Haskell но с Java сравнивать просто смешно. Даже представлять не охота, как можно закодировать List длиной 3 как тип.. https://apocalisp.wordpress.com/2010/06/08/type-level-programming-in-scala/ ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 18:42 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
Ссылка на magnet pattern - http://spray.io/blog/2012-12-13-the-magnet-pattern/ ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2018, 18:44 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
у меня контора кстати решила отказаться от скалы по ряду компонентов. и перейти на православную джаву :) вот так то. по ходу устали искать желающих поработать скалистов. и по тому что я вижу есть еще ряд игроков которые приняли аналогичное решение. скалистам или досвидос скажут или предложат писать на джаве. впрочем, их понять можно, скала - баловство для гиков. бизнесу от скалы ни холодно ни жарко и скорее больше проблем с кадрами. это в сухом остатке. вот такая вот ботва. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 12:59 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
andreykaT у меня контора кстати решила отказаться от скалы по ряду компонентов. и перейти на православную джаву :) вот так то. по ходу устали искать желающих поработать скалистов. и по тому что я вижу есть еще ряд игроков которые приняли аналогичное решение. скалистам или досвидос скажут или предложат писать на джаве. впрочем, их понять можно, скала - баловство для гиков. бизнесу от скалы ни холодно ни жарко и скорее больше проблем с кадрами. это в сухом остатке. вот такая вот ботва. Контора- бодишоп? Ниша скалы - проекты на бигдате и некоторые продуктовые приложения(игры, серверы, стриминг системы) - там обычно свой продукт и идейные личности, поэтому проблема с кадрами не натсолько остро стоит. Ну а так, да - в энтерпрайз скала не зашла и врядли в обозримом будущем зайдет. Есть правда один большой плюс в ней - она структурирует мозги и помогает по-другому взглянуть на свой код под углами разных парадигм. Я стал намного лучшим java-программистом после скалы ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 13:05 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
нет не бодишоп, а 100% продуктовая контора зарабатывающая на своем продукте деньги. как раз и бигдата и процессинг и энтерпрайз. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 13:35 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
а в бодишопе в котором я работал даже джава кони откинула. я был последним джавистом по-сути там кто оттуда срулил. они перешли на питон ноду и пыху чуть чуть. в основном первые два. а тоже были времена и джавы и скалы. но вначале скала канула. потом джава. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 13:37 |
|
Перспективы Scala
|
|||
---|---|---|---|
#18+
забыл ник Есть правда один большой плюс в ней - она структурирует мозги и помогает по-другому взглянуть на свой код под углами разных парадигм. Я стал намного лучшим java-программистом после скалы да согласен с этим. это прям сразу чувствуется когда назад за джаву садишься и видишь свой код и понимаешь КАК бы ты его написал ТЕПЕРЬ. я конечно не такой скала-мастер как ты, но вот тоже вижу кое-что ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 13:38 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120988]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 220ms |
0 / 0 |