LINUX.ORG.RU

Вышла Scala 2.10

 


2

4

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

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

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

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

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

★★★★★

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

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

cdshines ★★★★ ()

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

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

baverman ★★★ ()

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

prozium ★★ ()

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

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

theos ★★★ ()

Почему язык программирования «вышла»?

J ★★★★ ()

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

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

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

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

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

Because the JVM does not support value classes...

sv75 ★★★★★ ()

А что на этом языке вообще пишут?

anonymous ()

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

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

reserved ()

Value classes + Extension methods
Осталось linq и можно будет переимновать в S#
Или сразу в C#

grim ★★★★ ()

Хорошая новость. Надеюсь, еще будет шанс поработать со 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 ★★★★ ()
Ответ на: комментарий от CARS

На чем пишешь? PHP или C++? Такие дегенераты в основном в этих двух гадюшниках водятся.

anonymous ()

Обожаю срачи про языки программирования. Кастую срач Scala vs Python.

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

Почему язык программирования «вышла»?

Потому что Москва красивая, хотя и город.

Vudod ★★★★★ ()

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

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

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

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

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

с питоном как-то странно сравнивать, они слишком разные.

давайте clojure vs scala

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

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

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

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

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

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

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

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

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

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

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

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

Так на ынтырпрайзе мир и не заканчивается.

mono ★★★★★ ()
Ответ на: комментарий от 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 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.