Компания Oracle намерена выпустить Java Development Kit 7 в середине 2011 года, на год раньше первоначального плана, но исключив (http://blogs.sun.com/mr/entry/rethinking_jdk7) из поставки некоторые ранее ожидаемые возможности (http://openjdk.java.net/projects/jdk7/features/), которые будут интегрированы в JDK 8, выход которого намечен на конец 2012 года. В частности, в JDK 7 не будут включены Лямбда-выражения (http://openjdk.java.net/projects/lambda) ("замыкания"), модульная система Jigsaw (http://openjdk.java.net/projects/jigsaw), аннотации (http://openjdk.java.net/projects/type-annotations) для Java-типов, поддержка (http://openjdk.java.net/projects/coin) языковых конструкций для работы с коллекциями, Swing application framework (JSR296 (http://jcp.org/en/jsr/detail?id=296)) и набор небольших языковых улучшений, развиваемых в рамках проекта Coin (http://openjdk.java.net/projects/jigsaw).
В состав JDK 7 войдет поддержка (http://openjdk.java.net/projects/mlvm) языков программиров...URL: http://www.h-online.com/open/news/item/Oracle-going-with-Jav...
Новость: http://www.opennet.me/opennews/art.shtml?num=28024
В 2012 уже не нужно
Всё нормально, безо всякой сорвиголовости. Чтобы не было такого бардака как в Питоне. Enterprise идёт своим ходом.
Чую что 7-ая версия будет последней бесплатной, а за расширенные возможности придётся платить...
сомневаюсь. это серьезно ударит по всему бизнесу Oracle, который построен вокруг Java
> модульная система JigsawСамый торт выпилили
Глядишь, к jdk 8, java станет scala
Новая лямбда не нужна. В Java уже есть лямбда — в виде анонимных классов, зачем ещё. Только усложнение синтаксиса и запутывание кода.
Вот мне это тоже не нравится. Возможностей JVM для реализации замыканий достаточно. Если нужно, можно использовать Scala или Clojure, где они есть. А Java должен быть простым языком с минимальным набором возможностей, иначе разработчикам новых языков для JVM придется как-то отражать в своих языках все новые навороты Java, чтобы обеспечить доступ к стандартным API.
>Только усложнение синтаксиса и запутывание кодаА не наоборот ли?
Ну посмотрите примеры. Я бы не сказал, что с лямбдой стало проще и яснее. Визуально лямбда менее заметна, это минус, но почти так же громоздка. Анонимный класс легко отрефакторить в именной или объединить несколько интерфейсов в одном классе, тут это не выйдет. Все старые синтаксические анализаторы идут лесом, ещё дальше, чем с генериками в 1.5.Эта лямбда — просто прихоть старого лисповика, который не осилил идиомы жавы и тащит из лиспа свои стереотипы. В питоне уже на эти грабли наступали.
Единственное, что я бы поддержал — введение модификатора shared, иногда нужно. И сейчас это обходится (с помощью одноэлементного массива), но просто синтаксически удобнее будет. И не нужно изменение в JVM, просто синтаксический сахар компилятора.
Я к сожалению не могу найти видео, в котором очень четко были показаны недостатки анонимных классов. Помимо многословности, подход с классами в некоторых случаях не является таким очевидным и может нести скрытые ошибки. В чем там было дело конкретно, я уже не помню, потому что сам на Яве не пишу, но доводы и примеры были очень убедительные.
Грандиозный комент!
>Эта лямбда — просто прихоть старого лисповика, который не осилил идиомы жавы
>и тащит из лиспа свои стереотипы. В питоне уже на эти
>грабли наступали.Ошибка старого лисповика не в том, что не осилил, а в том, что он вообще решил втянуть что-то в жабу, а не взял более близкий ему язык на базе JVM (Clojure, Scala, ABCL). Потому что идиомы жабы не заслуживают оного выучивания.
Да ну и ладно! Зато позже недостающий функционал вернут, и это сообщается официально. Раньше бы я такой заботы не оценил, только после появления новой версии моей любимой графической оболочки, KDE, ценю.
> ...и это сообщается официальноОракл уже много обещаний давал.
просто жесть. знал об этом давно, но от этого не менее грустно. Если у .NET совсем не будет конкурентов, он будет развиваться медленнее. Столько лет ожидался новый JDK. Смирились с тем что Linq не будет, но выкидывать лямбды, которые в C# появились еще в 2007 году... так же читал комментарии по поводу того, чтобы сделать наконец swing нормальным инструментом для создания ui. Oracle сказала: пока используют это - менять не будем. Напоминает АвтоВаз: пока берут это новых машин не будет. Жаль что единственный комплексный конкурент .NET загибается...
как тебе не раз советовали, похудей. Не заметишь, как жить станешь лучше
ждем кода, от апологета, с активным использованием и обоснованием лямбда...
а ещё указаний конкурентных проектов на .нет, и неплохо бы - долю аппсерверов с активным .нет , на борту
особливо с 2007 года
Лямбда-функции не нужны. Linq не нежен подавно!А вот новый Swing нужен очень! И модульность тоже, а то велосипеды, типа Maven изобретать стали.
P.S.
А если реально, то зачем вам Linq?
Я и все остальные обходятся JPA, который раньше лика на сто лет появился.
JPA это ORM, если я правильно понимаю. Linq это механизм который позволяет писать конвеерную обработку данных, а где эти данные лежат - никого не волнует. А благодаря Expression Trees и IQueryable<T> можно выполнять действия на стороне сервера, а на клиент тянуть уже обработанные данные.
Это, а на фига нам ваши лямбды? У нас есть строгие и красивые анонимные классы, нам хватает.
Глаз не режет, наоборот. Ручками лишние кнопки нажимать тоже не надо, для этого IDE есть. Вот на хрена эти лямбды вообще поминать не понимаю, мелочь ведь.
Всяко бывает. Вот пишите вы что-то аля: new Query<Customer> ().Where (c => c.Name.StartsWith ("a")).OrderBy (c => c.Name).Select (c => new { c.Id, c.Name, c.Address }). Получается лаконично и красиво.
Да, основные няшечки выкинули. Property не включали в 7-ку типа сложно, так еще и модульность выкинули. Совсем работать не хотят.7-ка получается такой же пустой как и 6-ка. вроде релиз есть, но серьезных фичь для разработчика - нет.
В состав JDK 7 войдет поддержка языков программирования с динамической типизацией (инструкция InvokeDynamic) - это главное!