LINUX.ORG.RU
ФорумTalks

Закат языка Scala?

 


2

8

Сенсационное уже второе выступление главного разработчика ЯП Scala

https://www.youtube.com/watch?v=uiJycy6dFSQ

ссылка на первое выступление:
https://www.youtube.com/watch?v=TS1lpKBMkgg

Тут можно увидеть вклад этого девелопера в скалу: https://github.com/scala/scala/graphs/contributors



Последнее исправление: Ritmik (всего исправлений: 2)

А им кто-то пользуется?
Я слышал про сам язык, но никогда не слышал про софт написанный на этом языке.
Так что у меня сложилось впечатление, что это что-то вроде лиспа или хаскеля — чисто теоретические языки, интересные лишь специалистам по компиляторам и смежным специальностям.

Stahl ★★☆
()
Ответ на: комментарий от Stahl

Я слышал про сам язык, но никогда не слышал про софт написанный на этом языке.

Это в каком информационном вакууме нужно находиться, чтобы не услышать, например, про Play Framework?

mono ★★★★★
()
Ответ на: комментарий от mono

Я бы о нём так и не узнал, если бы специально не гуглил «web development scala»

GblGbl ★★★★★
()
Ответ на: комментарий от mono

Э-э-э.. Никогда не слышал про такое.
Более того — нашёл статью в википедии и всё равно не понял ЧТО это такое. «Open source web application framework». Что-то вроде РНР?

Stahl ★★☆
()
Ответ на: комментарий от Stahl

Так что у меня сложилось впечатление, что это что-то вроде лиспа или хаскеля — чисто теоретические языки

Интересно, как у человека с присутствием мозга может сложится такое впечатление.

Ritmik
() автор топика
Ответ на: комментарий от Stahl

А им кто-то пользуется?

Да.

Я слышал про сам язык, но никогда не слышал про софт написанный на этом языке.

На нём пишут внутренний софт, про который ты вряд ли услышишь, если не будешь работать в соответствующей компании. Максимум что ты увидишь - это выхлоп от этого софта у себя в браузере, а обычно и этого не увидишь.

Так что у меня сложилось впечатление, что это что-то вроде лиспа или хаскеля — чисто теоретические языки, интересные лишь специалистам по компиляторам и смежным специальностям.

Лисп и хаскель это не чисто теоретические языки, поэтому и тут ты не прав.

Legioner ★★★★★
()
Ответ на: комментарий от Ritmik

Элементарно. Если что-то есть, но на практике не используется значит оно существует не благодаря своим практическим свойствам, а каким-то другим.
Возможно(!) это «что-то» используется в исследованиях не имея при этом самостоятельной потребительной ценности.
Других адекватных причин существования «чего-то» я не вижу.

Задел твои чувства адепта малораспространённого языка? Ну извини — я не хотел. Мне просто насрать. Я лишь выразил свои мысли по этому поводу.

Stahl ★★☆
()
Ответ на: комментарий от Legioner

пишут внутренний софт

Язык «заточен» под какую-то очень хитрую специфику, которая не имеет смысла «извне»?
Какую?

Stahl ★★☆
()
Ответ на: комментарий от Stahl

Scaka - это такой C++ для Java.

Это очень крутой удобный для практического написания прог язык. От него такое ощущение.. как от Питона после Баша для написания системных скриптов.

Но есть минусы - жирный рантайм, жирный Play Framework (в смысле RAM, по CPU и Net наоборот быстрый как молния), нужен настроенный комп (писец в Debian с java пакетами? писец в Windows с инсталляторами JDK?)

Для кодера долгий старт (нужно настроить компьютер и IDE, а потом сразу правильно организовывать проект - vs PHP, в котором достаточно сказать install lamp-server и создать пустой файл .php - вот тебе и первая программа на PHP).

Отлично интегрированная Akka. Но все равно нужно приложить руки, чтобы это заработало. Конечно, не как у Эрланга, но все равно сложно. Простой говнокодер на PHP эрланг просто не сунется, а вот в разрекламированную Akka сунется, и тут же высунется ошпаренный, с психологической травмой до конца жизни.

Медленно компилируется. Примерно как C++. На одноядерном компе с гигом рамы ты познаешь ад.

Можно писать лютый говнокод, который никто без поллитры не разберет. Не нужно, но можно. Возможностью пользуются активно.

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

В банке такое легко. Или, например, для внутренних нужд организации («на себе не экономят»).

А вот notepad.exe на Playframework не выдержит ни пользователь, ни кодер

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Можешь tl;dr для тех, кому прямо сейчас нельзя смотреть видики со звуком?

Чувак, который утверждает, что он написал скала кода больше, чем кто либо, говорит, что scala collections безумно усложнены ради маргинальных юз-кейсов. При этом пытаясь скрыть эту сложность враньём в документации. Первые 10 минут правда только посмотрел.

Я с ним согласен в принципе. С джавовскими коллекциями я лично всегда разбирался без проблем и легко читал их исходники. Разобраться в скала коллекциях я пока не смог. Периодически делаю подходы, но пока не получается. Очень сложная иерархия классов, очень замудрённые шаблонные параметры, обилие implicit builder-ов всяких. Пока поймёшь, что куда идёт, проще на SO найти ответ, чем самому разобраться.

Legioner ★★★★★
()
Ответ на: комментарий от imul

А чего конкретно тебе не хватает? Документации выше крыши, коммьюнити огромное. Scala-разработчики есть и на ЛОРе.

Так же, Scala активно используется в Twitter.

mono ★★★★★
()
Ответ на: комментарий от Stahl

Извини, а область тових профессиональных интересов где лежит? Может ты на рынке картошкой торгуешь, а я тебя Scala мучаю.

mono ★★★★★
()
Ответ на: комментарий от Stahl

Язык «заточен» под какую-то очень хитрую специфику, которая не имеет смысла «извне»?

Не очень понятен вопрос. На Java, например, я не использую ни одной программы кроме девелоперских для Java. Все программы, которые я использую, написаны на C, C++, Objective C. Тем не менее это не мешает быть Java самым популярным языком в мире.

99% используемого кода, написанного человечеством, это и есть разного рода внутренние системы.

Scala заточена под использование в JVM (с возможностью использовать тысячи готовых Java библиотек и возможностью использовать очень быструю и мощную Java машину), при этом довольно удачно сочетая в себе ООП, ФП и обобщённое программирование. Недавно макросы появились, пока не особо используются, но думаю, в будущем тоже сильно повлияют на дизайн библиотек, хотя я их не очень люблю.

Legioner ★★★★★
()
Ответ на: комментарий от Stahl

Скала компилируется в JVM байткод для версии 1.7 (с 1.8 у меня пока бывают проблемы). Т.е. к жирности Жабы сбоку добавляется еще и жирность Скалы.

Н-р Playframework со стандартным набором (Hibernate, EJB, драйвер для постгреса и монго, какая-то синтаксическая мелочь) на продакшене с 500Мб RAM откровенно тормозит и свопится (с другой стороны, если дать ему достаточно RAM гига этак два, то он сможет выдерживать такую скорость и нагрузку, которую PHP и не снилось).

Например, на Play можно легко писать прикладной софт, но если каждая из утилит будет весит по 1Gb, ты сделаешь повдоль на второй такой утилите ;)

Сахар - это то же самое но красивее, а Скала это скорей набор для починки фундаментальных проблем Жабы. (в ущерб совместимости, которой в Жабе жертвовать нельзя). Т.е. дело не в синтаксисе, а в смысле.

Что касается Сахара, то встроенными средствами Скалы можно сделать легкие модификации синтаксиса, и можно сказать что уже сам девелопер отвечает за то, какой там сахар появится. Например, вот вполне в синтаксисе скалы генератор парсеров: https://github.com/sirthias/parboiled2 Глянь раздел Example, это все на совести автора.

stevejobs ★★★★☆
()

Лично я когда смотрел Scala - она мне не понравилась.
Показалась той же Java, только с кууучей синтаксического сахара.
И с огромным количеством способов выстрелить себе в ногу.

kovrik ★★★★★
()
Ответ на: комментарий от mono

Ты объединил всё ненужное в одном сообщении. А потом рассказываешь про какой-то информационный вакуум.

imul ★★★★★
()
Ответ на: комментарий от Stahl

Элементарно...

Я тебя спросил про твои наблюдения, на которые ты ссылался, а ты мне в ответ детский бред.

Задел твои чувства адепта малораспространённого языка?

И тут мимо. Я не адепт скалы, более того - не люблю скалу.

Ritmik
() автор топика
Ответ на: комментарий от Legioner

Есть ли в Clojure статическая типизация?

Кстати, скала - пример того, к чему может привести типизация.

Если ли хорошая поддержка IDE?

emacs/cider, idea/cursive, eclipse/counterclockwise

Ritmik
() автор топика
Ответ на: комментарий от Ritmik

тебя спросил про твои наблюдения,

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

Я не адепт скалы

Ну и? Так какого хрена (наш справедливейший из модераторов скоро инфаркт схватит) ты хочешь? Тебе не правится моё мнение? Контраргументируй, игнорируй или вали нафиг (контрольный модератору в... мозг).

Stahl ★★☆
()
Ответ на: комментарий от Stahl

Так что у меня сложилось впечатление, что это что-то вроде лиспа или хаскеля — чисто теоретические языки

На чисто теоретическом языке Lisp написан чисто теоретический http://www.dozor-jet.ru/, например.

AP ★★★★★
()
Ответ на: комментарий от vertexua

Ок. Про твиттер слышал. Хотя он и не нужен.
Про остальные слышу впервые:)

Stahl ★★☆
()
Ответ на: комментарий от Ritmik

Кстати, скала - пример того, к чему может привести типизация.

Что имеется в виду? Большинство Scala библиотек очень приятны в использовании не в последнюю очередь благодаря достаточно богатой типизации. Хотя проблемы есть. Но это куда удобней, чем динамическая типизация в любом случае.

emacs/cider, idea/cursive, eclipse/counterclockwise

Насколько она хороша? Есть ли подсказки по методам, классам, полям? Есть ли показ документации? Есть ли показ парамтеров? Какие рефакторинги реализованы, насколько надёжны?

Legioner ★★★★★
()
Ответ на: комментарий от Stahl

Я программист сишник/плюсовик.

Т.е. кроме низкоуровневого императивного программирования тебе ничего не известно. Какого ты тогда залез в тред про скалу?

Серверы моя «фишка».

Ты настраиваешь серверы? Что за фишка?

Ritmik
() автор топика
Ответ на: комментарий от kovrik

Покажи мне код на кложуре с > 4 годами разработки разными (это важно) командами разработчиков. Ну и количеством строчек, допустим > 100 000.

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от Ritmik

Ты настраиваешь серверы?

Я программист, а не админ. Я пишу серверы, а не настраиваю...

Stahl ★★☆
()
Ответ на: комментарий от Legioner

нету там ничего. каноничный ответ в том, что оно им и не нужно. документация есть, на рефакторинги и не надейся

stevejobs ★★★★☆
()
Ответ на: комментарий от vertexua

fork
while (true)
poll

Чем проще, чем надёжней. Чудеса начинают проявляться там, где нужна сверхпроизводительность. Но это бывает редко — на современном оборудовании даже самые топорные методы обычно работают хорошо.

Stahl ★★☆
()
Ответ на: комментарий от kovrik

окей, надо бы его глянуть, прежде чем врать про «плохую поддержку IDE» :) La Clojure был, прямо скажем, не очень удобен. Чего только стоит портированная из Groovy панель REPL, которую нельзя нормально масштабировать.

stevejobs ★★★★☆
()
Ответ на: комментарий от kovrik

Clojure как раз славится своей лаконичностью.

когда десятки программистов в течение многих лет кодят ынтерпрайз-говнокод, о какой лаконичности ты говоришь? Надо к вечеру 100500 фичей реализовать, а за лаконичность премии не дадут (ничего не дадут, кроме люлей).

stevejobs ★★★★☆
()
Ответ на: комментарий от Legioner

Насколько она хороша? Есть ли подсказки по методам, классам, полям? Есть ли показ документации? Есть ли показ парамтеров? Какие рефакторинги реализованы, насколько надёжны?

Походи по документации, например, cursive. Там все вроде расписано. https://cursiveclojure.com/userguide/editing.html .

Ritmik
() автор топика
Ответ на: комментарий от Ritmik

Ну не богато, конечно, но уже жить можно. Надо будет поглядеть попристальнее на досуге.

Legioner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.