LINUX.ORG.RU

Релиз Scala 3.0

 


0

3

После 8 лет работы, 28000 коммитов, 7400 пулл-реквестов и 4100 закрытых вопросов Scala 3 наконец-то вышла. С момента первого коммита 6 декабря 2012 года более ста человек внесли свой вклад в проект. Сегодня Scala 3 включает в себя последние исследования в области теории типов, а также промышленный опыт использования Scala 2. Основываясь на этом опыте, разработчики создали третью версию языка, простую в использовании, изучении и масштабировании.

В Scala 3 появилось много новых функций, и вы можете задаться вопросом, с чего начать изучать всё это? Основным местом для изучения Scala 3 является документация. Одна вещь полностью изменилась в Scala 3 по сравнению с Scala 2: это макросы. Здесь вы можете узнать больше о том, как они работают в Scala 3.

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

>>> Список нововведений

>>> Подробности

★★★★★

Проверено: xaizek ()

Какой должна была быть Java (для тех кто хочет писать нормально).

Конечно кодо-помойки на Scala становятся на порядок помоистее, особенно если усадить за кодинг хаскеллистов. Хаскеллистам нельзя разрешать кодить код который увидит кто-то кроме самого автора. В стол - конечно, я думаю Haskell отличный язык, я тоже люблю на нем срать.

vertexua ★★★★☆ ()
Последнее исправление: vertexua (всего исправлений: 1)

JVM ненужно

какие киллер фичи?

Scala 3 включает в себя последние исследования в области теории типов

ну-к покажите на примере

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

Конечно кодо-помойки на Scala становятся на порядок помоистее, особенно если усадить за кодинг хаскеллистов. Хаскеллистам нельзя разрешать кодить код который увидит кто-то кроме самого автора. В стол - конечно, я думаю Haskell отличный язык, я тоже люблю на нем срать.

так это, на хаскелле надо программировать, а не срать

anonymous ()

https://en.wikipedia.org/wiki/Scala_(programming_language)

Like Java, Scala is object-oriented, and uses a syntax termed curly-brace which is similar to the language C. Since Scala 3, there is also an option to use the off-side rule (indenting) to structure blocks, and its use is advised. Martin Odersky has said that this turned out to be the most productive change introduced in Scala 3.

бугога!! уж не знаю какая там раньше была помойка и была ли, но теперь будет точно лол. закапывайте.

anonymous ()
Ответ на: комментарий от theNamelessOne

indent-based всегда был говном. просто возьми и долго-долго смотри на питонокод. придет прозрение и увидишь разницу.

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

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

anonymous ()

После 8 лет работы, 28000 коммитов, 7400 пулл-реквестов и 4100 закрытых вопросов Scala 3 наконец-то вышла. С момента первого коммита 6 декабря 2012 года более ста человек внесли свой вклад

Самое жирное нинужно эвер. Могло быть актуально до появления Kotlin как джава с синтактическим сахаром.

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

Острота лопаты важна если копаешь непосредственно и много. Если больше думаешь куда копать да и так чтобы копать было нужно совсем мало, то другое дело

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

В 40 тебе вообще похер ОС, язык и все на свете так как ты можешь все освоить так как оно один фиг все примерно из одинакового набора фич состоит и только синтаксис разный.

i3draven ()
Последнее исправление: i3draven (всего исправлений: 1)
Ответ на: комментарий от sphericalhorse

Как можно серьезно воспринимать блок, если даже невозможно понять, где он начинается, а где заканчивается? А при повреждении форматирования он полностью приходит в негодность. Люди, которые такое любят – действительно очень странные.

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

Кстати. Очевидно, что на хаскелле нужно писать как-то явно по-другому. Но если пользование, скажем, recursion schemes у меня протестов не вызывает, то пресловутый бесточечный стиль - это просто треш.

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

anonymous ()
Ответ на: комментарий от Im_not_a_robot

Как можно серьезно воспринимать блок, если даже невозможно понять, где он начинается, а где заканчивается?

Разве это так? В примерах у них всё довольно симпатично выглядит и границы блоков очевидны. Можешь показать примеры кода, где читаемость действительно страдает?

Если что ни на скале ни на питоне не пишу, но к отступам вместо скобочек отношусь скорее положительно.

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

Вот я и хотел бы взглянуть на обратные примеры. (:

Аргумент про поломанное форматирование не убеждает: сейчас для любого языка есть инструменты автоматического форматирования, а для современных языков они нередко «встроенные».

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

В примерах у них всё довольно симпатично выглядит

Блоки маленькие. А вы возьмите какой-то код катемисика на питоне (тоже indent based), разобраться в этом крайне сложно.

fernandos ★★ ()

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

Когда услышал про Скалу, думал - во, наконец что-то неблевотное на JVM - а потом стал разбираться, и узнал

  1. про сто вариантов вызова методов (это якобы чтобы DSL-нее было, без точек проще читать, ага - что грамматика при этом становится неоднозначной, это ничего),

  2. потом про двести трейтов и прочего ООП-дерьма, которое доводит Java-подход до полного абсурда и делает невозможным нормальный ML-вывод типов (ну да, если вывод типов в TypeScript за образец брать, то конечно…)

  3. потом узнал про имплиситы - вот за такое вообще надо вырывать руки, а кровоточащие обрубки прижигать каленым железом.

Дальше было знакомство с sbt (и его отвратной документацией), после которого никак не мог остановить рвоту… ну и тормознутый компилятор, который полчаса hello, world собирает.

А чего ему быть не тормознутым, если Мартин гордо на конференции сообщает, что мы мол такой упоротый язык намутили, что после 20-го прохода компилятор не знает еще как выглядит конечное AST - но ничего, мы придумали новый подход типа CoW построитель AST - и с ним все будет быстрее - нет бы подумать, может в консерватории что-то не так?

В общем есть мнение, что на этом языке пишут либо извращенцы, которые все описанное видят в положительном ключе (ну ок - каждому свое), либо кукареки, которые нифига не поняли.

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

примерно такой же опыт, что у анонимуса:

1. это вроде мелочь, вызвало недоумение, но на практике сильно не напрягало
2. ООП более навернуто, чем в джаве, но в чем профит, не очень понятно
3. имплиситы - самый лютый п...ц, если IDE в нужный метод не отправит, концы с концами в этом ужасе вообще найти невозможно, а ведь их ещё несколько вариаций бывает
4. sbt кстати пример scala dsl, с вытекающей отсюда скоростью работы (см. скорость компилятора)
5. список, конечно, можно продолжить

поговаривают, kotlin проектировали как эдакую скалу с человеческим лицом (без лишних наворотов и вменяемой скоростью компилятора)

на данный момент, скала похоже держится только за счет spark - в свое время выбор пал из-за обилия lazy вычислений, что на джаве делать было бы совсем тоска, а альтернатив на том момент то ли не было, то ли не захотели

anonymous ()
Ответ на: комментарий от Im_not_a_robot

Как можно не видеть где он начинается и где он заканчивается???
Там же по отступам вообще-то видно.
При у любителей похеркейха не получиться поставить скобки а внутри отступы вообще не ставить нормально.

А при повреждении любой код лучше отформатировать.

sphericalhorse ★★★★ ()

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

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

Лично у меня к скале было две больших претензии:

  1. Я не осилил исходники коллекций. Слишком сложно.

  2. В коммунити слишком много всяких хаскелистов, которые шумят и их шум проникает в другие проекты. Для меня критерий успешности Scala 3 был бы, если бы scalaz перестала в нем компилироваться и ничего с этим нельзя было бы сделать.

Legioner ★★★★★ ()