LINUX.ORG.RU

Вышла Scala 2.10

 


1

3

Объявлено о выходе новой версии языка программирования Scala 2.10.

Основные нововведения:

  • классы-значения (value classes) — новый механизм, позволяющий уменьшить расходы на выделение памяти;
  • неявные модификаторы (implicit classes) теперь относятся к определению классов и призваны упростить расширения для других типов;
  • интерполяция строк (string interpolation) — новый механизм создания строк;
  • Futures и Promises призваны упростить создание многопоточного кода;
  • библиотека Akka Actors теперь является частью языка;
  • наконец-то в состав языка добавлена поддержка макросов.

Текущая стабильная версия языка программирования Scala может быть получена на странице загрузки проекта; исходные коды распространяются на условиях лицензии BSD.

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



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

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

cdshines
()

наконец то в состав языка добавлена поддержка макросов

Ну всё, ждем массовых самоубийств в соответствующем отделе JetBrains.

baverman
()

Нельзя не признать, что восклицательный знак в заглавии, хотя и смотрится на главной ЛОРа несколько непривычно, в сочетании с остальной частью заголовка кажется совершенно уместным! Успехов Scala!

prozium
()

классы-значения (value classes)

Интересно, как оно реализовано под JVM, учитывая что JVM в отличаи от .NET не обладает понятием Value class.

theos
()

библиотека Akka Actors теперь является частью языка;

Теперь Эрлангу точно капец!

buddhist ☕☕☕☕
()
Ответ на: комментарий от theos

Интересно, как оно реализовано под JVM,

По ссылке читаем:

Because the JVM does not support value classes...

sv75
()

на станице загрузки проекта

Неужто релизом мы обязаны казакам?

reserved
()

Хорошая новость. Надеюсь, еще будет шанс поработать со Scala в реальных проектах. Интересно же.

P.S.: Видел тред на одной странице.

TheKnight
()

Шла уже 2.10 версия ненужности, а ее все на закапывали и не закапывали. Она уже и пятнами покрылась, и провоняла вся, а закопать так и не догадались.

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

То же, что и на всей остальной маргинальщине - факториал и числа Фибоначчи.

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

ждем массовых самоубийств в соответствующем отделе JetBrains.

Both in Scala IDE and in Intellij IDEA macros are known to work fine.

Макросы кстати вкусные достаточно

RedPossum
()

сТАница загрузки?

Аутпост, что ли?

jackill
()

Эта Scala просто анекдот какой-то! Вот не лень же им придумывать столько новых механизмов, которые якобы что-то там должны упростить. Эй, погодите, дайте-ка я попробую. Как вам например interface penetrations, modifiable constants и abstract native monadic methods? Но по-настоящему гомерический хохот вызывает это:

библиотека Akka Actors теперь является частью языка
наконец-то в состав языка добавлена поддержка макросов

Что-то подсказывает мне, что через несколько релизов Scala перейдёт на круглоскобочный синтаксис, стандартизируется в ANSI и объявит себя Common Lisp'ом 2.0. И в этот день живые программисты будут завидовать мёртвым…

CARS
()

Вот это релиз. Просто супер. Прямо всё, чего не хватало до идеала и без навороченного матана, просто и практично.

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

Сишарпу до скалы как до луны.

Но LINQ нужен, это микрософты придумали неплохо. Точнее нужен не linq а поддержка со стороны языка, позволяющая создать linq в библиотеке. Может быть макросы уже позволяют.

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

Динамический недолисп? Кому он нужен? Единственная интересная штука в кложуре это stm, но пока стоядерные процессоры массово не внедряются и распараллеливание на каждый чих пока никому не нужно.

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

Прямо всё, чего не хватало до идеала и без навороченного матана,

Матан выходит с суфиксом z.

r
()

Недоязычок, который подходит только для напейсания студиоузами-кульхацкерами программулек типа http://www.scala-lang.org/node/166 в реальном мире enterpriZe не нужен.

http://www.scala-lang.org/node/1658 - не густо...

Bioreactor
()
Последнее исправление: Bioreactor (всего исправлений: 2)
Ответ на: комментарий от Legioner

python тоже «динамический», хотя я не недолисп. Он вообще непонятно недочто... оттуда даже reduce хотят убрать, судя по последнему треду...

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

Напрягся - перед очередной порцией лулзов типа

«К нам вот приходил на собеседование, претендовал на роль Java-программиста. Junior, конечно же. Это был цирк! » (с)

[ЖЖ] Луговский

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

Но LINQ нужен, это микрософты придумали неплохо. Точнее нужен не linq а поддержка со стороны языка, позволяющая создать linq в библиотеке.

а что есть линк? набор функций для работы с коллекциями, XML и какой-то их ORM, повторяющий частично синтаксис T-SQL, не так ли(подправьте меня, я в этом не копенгаген)? Так что мешает в скале это все реализовать?

//кстати, LINQ'овский синтаксис смущает своим отходом от классических названий функций. вот хочешь ты map, а тебе дают, ЕМНИП, select, раздражает

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

http://www.scala-lang.org/node/1658 - не густо...

Ты не понял. В каждом из описываемых случаев «внедрения» на самом деле было так - взяли интерна, занять студентишку нечем, мается он от безделья и в бирюльки играет. А скалойопы пишут потом гордый пресс-релиз о том, что ажно в целой настоящей Sony кто-то скакалкой воспользовался.

anonymous
()

Что-то не очень понял, так ли уж нужны были макросы. Хотя, я лишь поверностно знаком с принципами работы jvm/scala.

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

А за пределами ынтырпрайза денех нет и не будет. Кушай доширак.

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

я примерно представляю что ты думаешь про MongoDB, но тут после их курсов попросили пройти опросец, и там одним из вопросов был стандартный «какой язык вы используете в разработке». Так они в варианты ответа java забыли включить, а вот scala и clojure не забыли. От оно как.

И расскажи вообще чем тебе все эти интересные языки жить мешают? Пока их в реальный мир никто не тянет, все на яве и пишут.

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

толстый, сходи по ссылке и прочитай, чего там у них и как.

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

Ну мне интересен в первую очередь sql-like вид операций над коллекциями. Понятно, что оно отображается в обычные функциональные операции, но читабельность выше. Особенно когда часто работаешь с sql. XML и ORM с LINQ я не пробовал, к осмысленности использования ORM-а в принципе я отношусь скептически, но это мои тараканы, кому то может и надо.

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

Ну мне интересен в первую очередь sql-like вид операций над коллекциями.

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

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

Пока их в реальный мир никто не тянет, все на яве и пишут.

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

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

Синтаксис там УГ, сделано так чтобы не было разрыва шаблона у SQL дедов. Но суть в том что выражение LINQ может быть тесно связано с движком. В отличии от просто ФВП над коллекциями. Тоесть в первом случае мы можем опимизировать запрос в БД, а во втором у нас например критерий where - лямбда с неизвестным содержанием

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

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

так это же прекрасно. В каких сферах?

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

И расскажи вообще чем тебе все эти интересные языки жить мешают?

Попоболь от незнания скалы, плюс надо защищать и оправдывать незнание. Хотя это в корне не логично - восхвалять что ты что-то не знаешь, при этом радоваться что ты знаешь ширпотреб. При этом да, знать ширпотреб похвально, но его знают все и стыдно знать только его. Хороший термин используют для такого в гуглах «This person has no techical curiosity»

Пока их в реальный мир никто не тянет, все на яве и пишут.

Мне много вакансий присылают. Просто пока моя компания чуть лучше, хотя и на Java. Один проект в департаменте у нас тоже на Scala. Он им там нужен для активныx XML манипуляций

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

Но суть в том что выражение LINQ может быть тесно связано с движком.

Тоесть в первом случае мы можем опимизировать запрос в БД

И как они это делают? Напилили интерфейс общий для коллекций, XML и соеденений с DB, а глубже?

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

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

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

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

так это какой-то HQL получается

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

поддержка со стороны языка, позволяющая создать linq в библиотеке

LINQ - монада

без навороченного матана

есть тут один язык с поддержкой создания монад в библиотеке :)

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