Domanda

Qualcuno sa se le chiusure saranno in Java 7?

È stato utile?

Soluzione

A Devoxx 2008, Mark Reinhold ha chiarito che le chiusure non saranno incluse in Java 7.


Aspetta! Le chiusure saranno incluse in Java 7. Mark Reinhold ha annunciato questa inversione a Devoxx 2009.


Assicurati! Le chiusure ( espressioni lambda ) sono state rinviate fino a Java 8. Segui Project Lambda ( JSR 335) per ulteriori informazioni.

Altri suggerimenti

Non è noto fino alla creazione di Java SE 7 JSR (presumibilmente da Danny Coward) e non si forma un gruppo di esperti e si selezionano i contenuti.

La mia pagina Java 7 è una buona raccolta di collegamenti su Java 7 in generale e contiene collegamenti a tutte le proposte di chiusura e ai post di blog:

http://tech.puredanger.com/java7#closures

E mantengo un blog di collegamento Java 7 in cui è possibile trovare collegamenti su chiusure e altre cose su:

http://java7.tumblr.com

E potresti trovare interessante anche il mio post sul blog Pronostici Java 7 se vuoi le mie opinioni: http://tech.puredanger.com/2008/08/02 / Java7-predizione-update /

AGGIORNAMENTO: Mark Reinhold ha dichiarato a Devoxx l'8 dicembre che le chiusure NON saranno incluse in Java 7 a causa della mancanza di consenso su come implementare.

Al momento ci sono diverse proposte concorrenti, BGGA , CICE , tra gli altri. Sfortunatamente, rimane un acceso dibattito sull'approccio migliore. Di conseguenza è improbabile a questo punto che le chiusure diventino Java 7, a causa della natura conservativa del processo di accettazione.

Il problema chiave qui è che può essere molto difficile aggiungere funzionalità a un linguaggio preesistente, senza introdurre inavvertitamente una significativa complessità. Questa è stata l'esperienza con Generics in Java 1.5, e molti temono che si aggraverebbe con l'introduzione di chiusure.

Il mio consiglio è che se vuoi davvero avere accesso alle funzionalità del linguaggio moderno come le chiusure, ma desideri rimanere all'interno dell'ecosistema Java, dovresti dare un'occhiata a Scala .

Groovy è la migliore alternativa a Java che ho visto che include funzionalità di linguaggi dinamici tra cui chiusure, estensione di runtime, ecc. Mentre Ruby ha un leggero vantaggio in termini di design, dovrei dire che Groovy si compila nel codice byte Java e interagisce con Java senza QUALSIASI codice interfaccia è un vantaggio enorme che non può essere ignorato.

http://groovy.codehaus.org

Apparentemente le chiusure non saranno in Java 7. Vedi questo e questo .

La chiusura non sarà definitivamente presente in Java 7, ma se stai cercando una soluzione più leggera per avere la chiusura in Java in questo momento controlla come sono stati implementati nella libreria lambdaj:

http://code.google.com/p/lambdaj/wiki/Closures

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top