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)

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

Лана, shty на интепрайзник. А я как раз интерпрайзник, да и еще и джавер. Потому знаю как все это зыбко на самом деле.

кластеризуемый отказоустойчивый высоконадёжный сервер приложений, прозрачно обеспечивающий authentication/authorization/audit и управляемый по JMX;

Кластеризуемость сложная только для stateful, для stateless нужно только балансер потсавить, то есть хватит нам haproxy. Authentication/authorization - никогда не понимал стремление секьюрити вытащить в middleware, когда это часть бизнес-логики. Работает только в тривиальных случаях. JMX - штука сомнительного удобства. Мы вот JMX спринговым адаптером в HTTP прокидываем, нам нравится. То есть без жыбы мы просто напрямую по HTTP паблишили бы.

ORM с поддержкой десятков СУБД, NoSQL БД, LDAP и т.п.;

Такое даже хибер не умеет.

распределённый кэш;

Есть мемкеш, есть редиска, та же терракота имеет rest-морду.

транзактную очередь сообщений с гарантией доставки, security и персистентностью;

Берем реализацию AMQP: RabbitMQ, ActiveMQ. А распределенные транакции - зло, во всех проектах где я участвовал был запрет на JTA.

rule engine;

Опять же мнение ведущих архитекторов - это зло. Проще закодить.

MVC-фреймворк;

Для любого языка тыщи их.

REST-стек;

Валом этого везде.

взаимодействие с CORBA 3.0;

О боже мой, беги от туда!

коннекторы к legacy-ресурсам (мейнфреймы и т.п.).

Коннектор на чем угодно можно написать.

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

Очень приятно видеть адекватного джава-разработчика. +1

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

rule engine;

Опять же мнение ведущих архитекторов - это зло. Проще закодить.

разбирает любопытство - таки что под rule engine подразумевается?

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

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

Короче, если ты и правда думаешь использовать именно этот метод в продакшене... Не уверен, но вроде как именно там это будет печально. Именно в 1.4 Java.

dizza, поправь что ли?)

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

Погугли. Статья на хабре - оно самое, вроде бы. Вообще до ужаса простая вещь оказалась. Да и как бы вроде DSL до определенной степени сложности этого самого DSl'я можно считать rule.

TheKnight ★★★
()

Ещё один функциональный быдлоязычок? Да сколько же можно-то? Работать надо, а не лямбдами забавляться.

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

Пошёл перечитал я твою простую задачу, ты бы уточнил что ты от анона хочешь, а то каков вопрос, таков и ответ.

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

ORM - ересь для одностраничных сайтиков по продаже прона

Скажи что ты курил и как делают чоткие поцаны на районе доступ к постоянному хранилищу?

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

Бинарный поиск, хотя бы без известных ошибок. Хотя бы без несколько лет как известного бага в JDK(уж про этот баг знать можно было).

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

Ну и да - а вам слабо реализовать бинарный поиск? Для числового массива размерностью MaxInt?

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

Ну так тут разделение труда в чистом виде. Одни работают (с Java), другие лямбдами забавляются (сидя у мамки на шее). Все по честному.

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

Ну так тут разделение труда в чистом виде. Одни на стройке работают, другие матаном забавляются (запуская спутники). Все по честному.

Fixed.

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

Да вы что, это напрасные рассужения. Никто не переходит с Java на Scala и Groovy или наоборот. В смысле перейти и отказываться писать код на том что было раньше. Платформа одна. Пишешь проект, потом тесты на Groovy, мозговывернутая логика, сильный concurrency или XML processing - Scala. У нас в компании Scala начали пропихивать в тестирование просто чтобы консервативных Java программистов научить, так как ожидают большой shift в ЯП через 5 лет. Тоесть джаву не закопают, и не факт что заменой будет скала. Просто большинство языков будут совмещать ООП и ФП парадигмы.

И да, гигантский банк.

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

ORM - ересь для одностраничных сайтиков по продаже прона

Скажи что ты курил и как делают чоткие поцаны на районе доступ к постоянному хранилищу?

Каким-нибудь SQL DSL-ом. Например, http://sqlkorma.com . А что?

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

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

Просто ты не знаешь, что такое REST, и поэтому сводишь его к хуям к TCP-сокетам. Это неверно.

И да, за ссылку не благодари.

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

У нас достаточно адекватные решения, именно из разряда ехать, а не шашечки. Тоесть если плюшек больше у Oracle-говномамонта, то будут использовать ее. Но если лучший контроль версий это Git, а не проверенный svn, то будет он. При этом как только технология становится тортом для продакшна, ее вполне запросто вводят. У нас широко используется Github, git, Groovy, Grails, GWT. Scala в другом департаменте, но скоро введут в нас.

Банк из этого списка

http://finance.mapsofworld.com/investment/banks/top-10-bank.html

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

Внимание вопрос: А на хрена JMX?

JMX — родная для платформы Java EE технология мониторинга и управления. Что не так?

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

Если система пишется на Java, то JMX не является «чужеродной технологией».
Если система пишется не на Java, никто не заставляет использовать JMX.
Что сказать-то хотел?

Или для взаимодествия, к примеру, с C++ серверами ты тоже потребуешь JMX?

Покажи, где я говорил такую чушь? Для мониторинга и управления C++-софтом технология JMX нерелевантна.

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

Изза тормознутости ОРМ брокеров, объекты кэшируют в памяnи а изза проблем Java с потреблением этой самой памяти её никогда не хватает и поэтому под кэш отводят кластеры в которых организуют кэш объектов котрые при нормальном проектировании можно было грузить из БД по мере необходимости.

Садись, два.

Задания на дом:

1) Сравнить скорость обработки данных с использованием ORM и на чистом JDBC. Удаивиться;
2) Написать пример, в котором использование кеша будет давать существенный прирост производительности даже на небольшом объеме данных.

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

баззворды
баззворды
баззворды

Как выяснилось, ты не имеешь отношения к разработке ПО уровня предприятия. Неудивительно, что профессиональные термины для тебя — птичий язык.

Точно такими же «баззвордами» для индейца мумбо-юмбо будут слова «гигиена», «зубная щётка» и «презерватив».

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

Чем больше таких вот кидаются на Scala или Common Lisp...

Ты не понял.

Объектом наших насмешек и критики являются не языки per se. Нелепо высмеивать инструмент. Чего смешного в двуручной пиле или отбойном молотке? Мы же высмеиваем идолопоклонников, сектантов и каргокультистов.

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

Кластеризуемость сложная только для stateful

Об том и речь. Современные решения для стека Java EE реализуют это.

Authentication/authorization - никогда не понимал стремление секьюрити вытащить в middleware, когда это часть бизнес-логики.

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

JMX - штука сомнительного удобства.

Просто вы не разобрались с JMX.

Такое даже хибер не умеет.

http://www.datanucleus.org/

Есть мемкеш, есть редиска, та же терракота имеет rest-морду.

Вы тоже не в курсе того, что такое распределенный кэш. Подсказки: ehcache, Cacheonix, Oracle Coherence.

А распределенные транакции - зло, во всех проектах где я участвовал был запрет на JTA.

Просто вы не смогли освоить JTA. Не спорю, это непростая технология.

Опять же мнение ведущих архитекторов - это зло. Проще закодить.

...и переконпелировать на каждый чих? Ведущие архитекторы Задрищенска такие ведущие!

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

Ну и да - а вам слабо реализовать бинарный поиск? Для числового массива размерностью MaxInt?

Не слабо.

Как платить удобнее?

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

Сравнить скорость обработки данных с использованием ORM и на чистом JDBC

Зависит от ситуации. Одно дело выгрести все столбики, а потом мапнуть их на обьект руками каким-то RowMapper, причем без кеша, то лучше уже ORM. А вот если хитрый join со специфичным к БД запросом и результат - один столбик, то ORM будет лишним. Для однородности подхода можно везде ORM, если пофиг на супер-пупер производительность, но если надо быстро и легко, то за адекватность подхода задаче тебе только спасибо скажут.

Да и дельты, миграционные скрипты обычно через какую-то тулзовину или JDBC на обычном SQL

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

Каким-нибудь SQL DSL-ом. Например, http://sqlkorma.com . А что?

Но ведь это просто транслятор из S-выражений в SQL. SQLKorma не является ORM и не реализует и доли ORM.

И это не говоря уже о маргинальности самого хостового языка (недолисп Clojure).

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

Как бы речь шла о предоставлении на не-Java-стеке аналогичной функциональности. Я изначально это сравнение понимал так.

Поэтому мой вопрос о нужности JMX вполне корректен. Мы пишем на маргинальном языке, зачем нам JMX?

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

Слушай, это задание на несколько минут для собеседования на Юниора по той же Java или С. Ты серьезно думаешь, что оно нуждается в оплате?

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

Я на нем отгреб проблем при работе с GAE. GAEпроблемы или он таки говно?

DataNucleus какой версии?

Да и дельты, миграционные скрипты обычно через какую-то тулзовину или JDBC на обычном SQL

Палю годноту: http://www.liquibase.org/

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

Мы пишем на маргинальном языке, зачем нам JMX?

Это да.

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

Ведь главное — чтобы анафорические лямбды были.

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

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

Ведущие архитекторы Задрищенска такие ведущие!

Не Задрищенска, а крупнейшего инвест-банка.

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

Слушай, это задание на несколько минут для собеседования на Юниора по той же Java или С.

Ты знаешь, сколько стоят мои несколько минут?

Если не готов платить — обратись к жуниору. В самом деле, это не очень разумно — нанимать высококлассного эксперта для реализации такой ерунды. А так можешь и микроскопом гвозди забивать, конечно.

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

Да, есть такое. Но мы по старинке через flyway

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

Ты знаешь, сколько стоят мои несколько минут?

Анонимного тролля-жабамакаки на ЛОРе? Они бесценны.

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

Но LINQ нужен

я конечно тот еще быдлокодер и отдаю предпочтение примитивным языкам программирования, но вот когда читаю про такие сложности - даже не знаю куда б их применить. Будь добр, если не сложно скажи, зачем _НУЖЕН_ linq?

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

Ты знаешь, сколько стоят мои несколько минут?

Это же сколько мы тебе за твои высеры на ЛОРе должны теперь?

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

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

Перевожу:

Молодые талантливые специалисты предлагали использовать перспективные технологии: ORM, JTA, JMX, rule engines и так далее. После этого «лид-архитектор» (старпёр под 50, выросший на Алголе и Фортране, зять начальника отдела) осознавал, что ничего этого понять не в состоянии (т.к. не видит дальше SQL и голых сокетов) и приказывал выпилить к чертям. Таким образом, «суровая реальность», с которой якобы произошло столкновение, — это некомпетентность и косность пердуна-«архитектора», получившего должность по блату.

Не Задрищенска, а крупнейшего инвест-банка.

Мои соболезнования «крупнейшему инвест-банку».

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

>> Ты знаешь, сколько стоят мои несколько минут?

Это же сколько мы тебе за твои высеры на ЛОРе должны теперь?

Плюсую)

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

Это же сколько мы тебе за твои высеры на ЛОРе должны теперь?

Не должны.

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

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

Как показывает практика - один фиг мы завязываемся на конкретную базу и достаточно часто ее поменять становится проблематичным.

Как показывает практика, если вы умудрились завязаться на конкретную базу, то у вас ошибки в ДНК проектирования.

Разумеется, если речь идет о современной мощной технологии, предоставляющей абстракции для работы с СУБД (например, Java EE + JDBC). Если речь идет о маргинальных языках наподобие ЛИСП, то да, там привязка к БД будет по умолчанию.

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

Ммм... Про oCaml ничего не скажу
про Common Lisp... Не раз уже пробегали по форуму упоминания
Натыкался на упоминания о использовании Haskell

Лол. Твёрдые и нерушимые аргументы об успехах OCaml, Lisp и Haskell в промышленном программировании!

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