kdyz se na ten zapis divam, nebylo by lepsi to udelat stejne jako napriklad v Pythonu nebo i v Lispu :-), tj. pres klicove slovo lambda? Takhle se to zacne ve zdrojacich hemzit krizkama a hlavne zavorkama {}, ktere vsak budou mit zase o dalsi vyznam vic - zatim oznacuji predevsim lexikalni bloky, ale pouzivaji se napriklad i pri inicializaci poli, anonymnich trid (ale jinak nez s #) atd. takze se jedna o pomerne dost "pretizeny" znak ;)
stejne se driv nebo pozdeji bude do Javy pridavat nejaka konstrukce, ktere klicove slovo bude potrebovat, v minulosti si vzpominam na "enum", jehoz zavedeni rozbilo nejake programy - neco z Apache.org to bylo.
S tou lambdou to neni spatnej napad, stejne se # nikde jinde (krome znakovych konstant a retezcovych literalu) nepouziva, takze by se to asi do IDE dalo dobastlit. No v kazdem pripade uvidime, jak se treba Eclipse popere s JDK 7, treba Netbeans uz nejakou podporu maji (na druhou stranu se vsak Eclipse vyviji rychleji).
Podle me pro novy klicovy slova existuje trivialni a bezproblemovy reseni: dopsat do zdrojaku verzi, treba jako
package 8 cz.root;
// zdrojak je java8, lambda je klicovy slovo
Prekladac by vedel s jakou verzi dela a vsechno by bylo jasny. Starsi prekladac by tomu nerozumel ale novy syntaxi taky ne, takze to nevadi.
Neslo by to pouzit pro root-package, ale ta je stejne celkem k nicemu.
Je to mozna trosku divny, ale skutecne tam enum nebylo, je to popsany napriklad ve starsich JLS (Java Languange Specification):
http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#229308
Mam takovou teorii, ze v honbe za co nejvetsim "odtrhnutim se" od svych C/C++ korenu tvurci Javy zpocatku vsechno vsadili na rozhrani a tridy, pricemz na vyctovy typ (velmi dulezity) zapomeli, takze nas nakonec musel Josh Bloch ucit, jak spravne vycet nahradit tridou ;-)