С закрытием, добавляемым в Java, что означает Scala преимущество над Java как выбор языка?
Может кто-нибудь уточнить какие-либо преимущества?
С закрытием, добавляемым в Java, что означает Scala преимущество над Java как выбор языка?
Может кто-нибудь уточнить какие-либо преимущества?
Помимо закрытий (в которых Java не отображается все, что близко к наличию), здесь приведен список функций в Scala, отсутствующих на Java. Я буду опускать библиотеки здесь и сосредоточиться на особенностях самого языка. Это не является исчерпывающим каким-либо образом, но я думаю, что он содержит большие элементы билетов.
for
понятияval
так же легко объявить как var
s)Некоторые прохладные вторичные конструкции, которые позволяют использовать эти строительные блоки:
Наконец, я упомянул, что Scala имеет REPL (read-evaluation-print-loop) - не является самой особенностью самого языка, но это очень приятно иметь!
Даже если Java 7 [8,..] будет иметь первоклассные функции в один прекрасный день, ему все еще не хватает для implicits, вывода типа, мощной библиотеки Collections, соответствия шаблонов, признаков и множества других вещей, повышающих производительность. Не говоря о различных библиотеках Actor, богатых возможностях создания DSL,...
Последнее, что я слышал, это то, что закрытие не превратится в Java 7.
http://www.baptiste-wicht.com/2010/09/jdk-7-features-updated-plan-b-is-apparently-here/
http://openjdk.java.net/projects/jdk7/features/
Вторая ссылка четко отображает проект Lambda (закрытия) как отложенный до JDK 8.