Java
– Évolution du langage
Après avoir ralenti avec l'acquisition du langage par Oracle, le
développement de
Java
a repris son cours.
Dans tous les cas, il est possible qu'une version plus récente de
Java
soit rendue disponible et que les liens proposés doivent être mis à jour.
Java
a eu vingt ans en 2015 :
Récit relatant le chemin menant à
Java,
par Patrick Naughton en 1996 :
http://www.blinkenlights.com/classiccmp/javaorigin.html
Le futur de
Java
Le futur de
Java :
Améliorer
Java :
Dire au revoir à
Java
6, texte de 2015 :
https://jenkins-ci.org/content/good-bye-java6
En vue de
Java
9
On spécule, pour le moment, mais...
-
http://www.infoworld.com/d/application-development/oracle-releases-javafx-20-shares-plans-java-9-174896
-
Java 9
est attendu pour septembre 2016 :
https://www.voxxed.com/blog/2015/05/save-the-date-java-9-is-coming-september-22nd-2016/
-
Un coup d'oeil sur le JDK 9, par Coman Hamilton en 2014 :
http://jaxenter.com/a-first-glimpse-at-java-9-early-access-release-of-jdk9-on-openjdk-50855.html
-
Faire évoluer la
JVM,
présentation de John Rose et Brian Goetz en 2014 :
http://cr.openjdk.java.net/~jrose/pres/201407-JVMEvolution.pdf
-
Quelques caractéristiques annoncées pour
Java 9, selon Coman Hamilton en
2014 :
http://jaxenter.com/java-9-features-announced-50896.html
-
Java 9
et le format
JSON, par Ben Evans
en 2014 :
http://www.infoq.com/news/2014/09/CoreJSONJava9
-
L'API pour consommer du
JSON serait à risque
de ne pas faire partie de
Java 9,
selon cet article de 2014 par Coman Hamilton :
http://jaxenter.com/json-api-dropped-java-9-113028.html
-
Quelques textes d'Alex Zhitnitsky :
- Quelques caractéristiques officielles de
Java 9,
rapportées par Coman Hamilton en 2014 :
http://jaxenter.com/new-java-9-features-announced-112654.html
- Le projet Jigsaw, pour permettre les modules avec
Java :
- Que devrions-nous savoir à propos de
Java 9,
selon Ben Evans en 2014 :
http://radar.oreilly.com/2014/09/what-every-java-developer-needs-to-know-about-java-9.html
- Selon Yolande Poirier en 2015, tel que
rapporté par
https://blogs.oracle.com/java/entry/java_9_keynote_at_eclipsecon, les
principaux éléments prévus pour
Java 9
sont :
- Proposition pour rendre plus compacte la représentation interne des
String :
http://openjdk.java.net/jeps/254
- Proposition pour offrir une
API permettant de naviguer la
pile de manière programmatique : http://openjdk.java.net/jeps/259
Depuis
Java
8
À propos de
Java
8.
Généralités :
-
https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf
-
https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
-
Comme le relate Terrence Barr, la version 8 de
Java
ME a aussi été rendue disponible en 2014 :
http://terrencebarr.wordpress.com/2014/04/30/java-me-8-released/
- Un Cheat Sheet :
http://www.java8.org/
- Implémentations de référence pour
Java
8 SE :
- Tout ce que vous devriez savoir sur
Java
8 :
-
http://www.theregister.co.uk/2011/10/03/java8_revolution_not_evolution_oracle/
- http://www.infoworld.com/d/application-development/oracles-ambitious-plan-client-side-java-175241
- À propos de la coévolution de la
JVM
pour le parallélisme et les λ, par Brian Goetz en
2011 : http://blogs.oracle.com/briangoetz/resource/devoxx-lang-lib-vm-co-evol.pdf
- Ce que
Java
8 apporte de neuf :
- En 2013, Lucas Eder s'interroge à savoir si
Java
8 a besoin de LiNQ ou si
Java
8 est déjà meilleur que cela :
http://tech.pro/blog/1689/does-java-8-still-need-linq-or-is-it-better-than-linq
- Spécification proposée pour
Java
8 SE, par Mark Reinhold en 2013 :
http://cr.openjdk.java.net/~mr/se/8/java-se-8-pfd-spec-01/
- En 2014, Lucy Carey déclare que
Java
8 sera livré à temps, qu'il reste des bogues ou non :
http://jaxenter.com/bugs-or-not-bugs-java-8-will-arrive-on-time-49348.html
- Références sur des méthodes avec
Java 8,
par Sreenath Ulasala en 2014 :
http://www.speakingcs.com/2014/08/method-references-in-java-8.html
- Apprendre
Java 8,
un tutoriel par Benjamin Winterberg en 2014 :
http://winterbe.com/posts/2014/03/16/java-8-tutorial/
- Implémenter des Mixin avec
Java 8,
pour réduire les occurrences d'erreurs communes, par Per-Åke Minborg en
2014 :
hhttp://minborgsjavapot.blogspot.se/2014/10/new-java-8-object-support-mixin-pattern.html
- Migrer vers
Java 8 :
- Améliorer le code source à l'aide de
Java 8,
par Marius Herring en 2015 :
http://www.deadcoderising.com/java-8-take-your-abstractions-to-the-next-level/
- Calculer les permutations d'une séquence à l'aide de
Java 8,
par Per-Åke Minborg en 2015 :
https://dzone.com/articles/java-8-master-permutations
`Les λ :
- http://www.artima.com/weblogs/viewpost.jsp?thread=277879
- L'état de la situation :
- http://stronglytypedblog.blogspot.com/2010/06/lambdas-in-java-preview-part-1-basics.html
- http://stronglytypedblog.blogspot.com/2010/07/lambdas-in-java-preview-part-2.html
- Syntaxe adoptée pour
Java : http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/003936.html
- Présentation du sujet :
- Un avant-goût, présenté par Anton Ahripov en 2013 :
http://zeroturnaround.com/labs/java-8-the-first-taste-of-lambdas/
- Expressions λ et méthodes d'extension virtuelles : http://openjdk.java.net/jeps/126
- Une critique des λ, par Craig Tataryn
en 2011 : http://tataryn.net/2011/11/java8-lambda-expressions-perhaps-not-as-sexy-as-intended
- À propos des λ et des fonctions de la bibliothèque
Guava, par Bill Bejeck en 2011 :
http://codingjunkie.net/guava-functions-java-8-lambdas/
- À propos des λ, par Debasish Ray Chawdhuri en
2012 : http://www.geekyarticles.com/2012/01/whats-cooking-in-java-8-project-lambda.html
-
http://ileriseviye.wordpress.com/2013/11/15/java-8-lambda-expressions-and-the-psychology-of-the-masters-of-the-universe-devoxx-style/
- L'impact des λ, par Jez Higgins en 2013 :
http://www.jezuk.co.uk/cgi-bin/view/jez?id=4508
- Exemples de λ et de Streams en
Java
8, texte de 2014 :
http://javarevisited.blogspot.ca/2014/02/10-example-of-lambda-expressions-in-java8.html
- Mesure de la vitesse d'exécution des λ de
Java
8 sur des
systèmes embarqués, par Jim Connors en 2014 :
https://blogs.oracle.com/jtc/entry/an_embedded_java_8_lambda
- Le côté obscur des λ de
Java,
à savoir que les Stack Traces sont plus longues lors d'une
erreur,
par Tal Weiss en 2014 :
http://www.takipiblog.com/2014/03/25/the-dark-side-of-lambda-expressions-in-java-8/
- Utiliser des λ pour implémenter QuickSort
fonctionnel, texte de
Drew Csillag en 2014 :
http://drew.thecsillags.com/quicksort-and-java-8/
- Les Predicate et les
Function, quelques exemples instructifs par Gonçalo Marques en
2014 :
http://www.byteslounge.com/tutorials/java-8-predicates-and-functions
- Description des λ par Sreenath Ulasala en 2014 :
http://www.speakingcs.com/2014/08/in-detail-lambda-expressions-in-java-8.html
- Dans ce texte de 2014, Edwin Delorzo affirme que les
λ de
Java 8
sont brisées « par design » :
hhttp://blog.informatech.cr/2014/04/04/jdk-8-interface-pollution/
- Comment sont implémentées les λ, par Richard Warburton, Raoul Urma et Mario Fusco
en 2014 :
http://www.infoq.com/articles/Java-8-Lambdas-A-Peek-Under-the-Hood
- Comparatif de type « avant / après » proposé par Eugen Paraschiv en
2013 :
http://www.baeldung.com/java-8-sort-lambda
- Selon ce texte de 2015 par Marius Herring, l'avènement des λ en
Java
signifie en quelque sorte la fin des répétitives explicites :
http://www.deadcoderising.com/java-8-no-more-loops/
- Peut-on utiliser une λ dans un programme assujetti à une
contrainte de base latence? Texte de 2015 par Peter Lawrey :
http://vanillajava.blogspot.com.es/2015/01/java-lambdas-and-low-latency.html
- Coûts cachés de certaines manipulations de flux et de λ
expliqués par Daniel Shaya en 2015 :
http://www.rationaljava.com/2015/02/java-8-pitfall-beware-of-fileslines.html
Technique :
Depuis Java 7
À propos de Java 7 :