Emploi Start-up Evénements 01 Avis d'expert Vidéos Indicateurs Distribution Telecharger Pro Livres blancs

Google veut moderniser Java avec Noop

Google dévoile un nouveau langage qui reprend le meilleur de Java tout en introduisant les bonnes pratiques actuelles : injection de dépendance, testabilité...
laisser un avis
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

Noop se définit comme un langage testable tournant dans la JVM (Java Virtual Machine). Selon Google, qui présente le projet sur le site de Noop, « il tente de tirer les leçons des anciens et des nouveaux langages, tout en encourageant à travers sa syntaxe les bonnes pratiques de l'industrie et en décourageant les mauvaises pratiques d'écriture de code ». Derrière ce projet, on trouve des ingénieurs de Google et quelques développeurs provenant d'autres sociétés.

Noop – en référence à l'instruction en langage machine NOP ou NOOP, ne rien faire – est en réalité un Java-like, autrement dit un langage doté d'une syntaxe similaire à celle de Java. Son objectif est, d'une part ,d'intégrer dans sa syntaxe les bonnes pratiques actuelles telles que l'injection de dépendance, la testabilité, l'écriture d'un code source lisible, une documentation exécutable toujours à jour et  un typage fort des variables. Et, d'autre part, d'éviter les mauvaises pratiques telles que le code et les variables statiques, l'héritage d'implémentation, les primitives… Sur le wiki des développeurs, on trouvera la liste des fonctionnalités prévues ou proposées pour le langage. 

L’injection de dépendance au cœur du langage

Première innovation, l'injection de dépendance. Popularisée par le framework open source Spring, cette technique a modifié la manière dont on programme en Java aujourd'hui, au point d'éclipser le modèle EJB (Enterprise JavaBean) de Sun. Elle met en œuvre l'inversion de dépendance, qui est une implémentation du patron de conception Inversion de Contrôle (IoC, Inversion of Control) : lorsqu'un module effectue un traitement, le contrôle de ce dernier est déporté vers l'appelé et non vers l'appelant. On évite ainsi que les objets contiennent trop de comportements, ils sont ainsi plus faciles à maintenir.

La testabilité du code (capacité à tester un développement) est un autre élément clé de ce nouveau langage. Celui-ci favorisera en effet le test automatisé, en particulier pour les tests unitaires. Cette pratique mise en avant par les méthodes agiles est désormais largement adoptée dans les projets modernes. Elle implique des relations privilégiées entre code de production et de test, et préconise l'implémentation du code de test en tant que classe avec des méthodes.

On l'aura compris : l'idée de Noop est au final d'intégrer dès le départ dans sa syntaxe toutes ces avancées, qui font le succès des langages modernes, contribuant à la qualité et à la lisibilité du code produit, et évitant ainsi le recours à des bibliothèques et des outils externes.

Un langage de plus pour la JVM

Pour l'instant, Noop est à l'état de projet en phase initiale, toutes ces fonctionnalités ne sont que des intentions ou des propositions. Il est soumis à la licence Apache 2.0 et hébergé par Google. Le projet a été présenté au JVM Language Summit et a reçu un accueil très favorable.

Google prévoit trois moyens pour utiliser les fichiers source Noop :
- Un traducteur Java, il produira du code Java à partir de code Noop. Il permettra ainsi d'utiliser Noop progressivement sans avoir à convertir tous les codes source Java.  Mais toutes les fonctionnalités du runtime du langage ne seront pas fournies dans ce traducteur ;
- Un interpréteur, il lira et évaluera le code Noop à travers un interpréteur et aura une interface en ligne de commande ;
- Un compilateur, il compilera en bytecode Java.

Sun prend la nouvelle plutôt bien. Pour Alexis Moussine-Pouchkine, architecte Java chez Sun, Noop est une bonne idée : « Le langage Java n'est pas parfait. La profusion de langages alternatifs sur la JVM (Groovy, JRuby, Python, Scala, Clojure et d'autres) en est la meilleure démonstration, et que Noop fonctionne également au-dessus de la JVM est une excellente chose. Que le meilleur de ces langages gagne ! En revanche, il ne faut pas tomber dans l'excès de critique envers Java, qui restera vraisemblablement par sa lisibilité, par son ubiquité et par son accessibilité au plus grand nombre, la colonne vertébrale des applications de gestion en entreprise pendant encore de nombreuses années. »

Après GWT (Google Web Toolkit), un Java-like pour les RIA et Java for GAE (Google App Engine) un Java-like pour le cloud, Google investit dans un Java-like générique et démontre encore une fois une stratégie tous azimuts autour de Java. 

débat
32 avis d'internautes
Google veut moderniser Java avec Noop
bravo Google
par Sébastien Levet
le 18/09/2009 19:17:45
Bravo Microsoft
par HIPe
le 18/09/2009 19:57:11
Silverlight est une aberation...
par seb__2411
le 18/09/2009 20:31:13
Arguments S.V.P
par Loïc Denovo
le 18/09/2009 20:43:14
Ca devrait êtr evident...
par seb__2411
le 18/09/2009 21:04:17
Loïc Denovo
par Loïc Denovo
le 18/09/2009 21:21:03
?????
par seb__2411
le 18/09/2009 21:31:34
ah ?
par Loïc Denovo
le 18/09/2009 22:18:07
????? (bis)
par seb__2411
le 18/09/2009 23:02:10
?
par Rofle
le 19/09/2009 10:42:21
?
par Cheris Lavoul
le 19/09/2009 21:34:22
?
par jawaad35700
le 21/09/2009 03:35:08
Aucun rapport ...
par Silverlight_non
le 24/09/2009 14:08:29
la vieille école linuxienne
par charle dubois
le 18/09/2009 20:45:07
L'ecole du bon sens et la modernité..
par seb__2411
le 18/09/2009 21:09:22
encore une réponse absurde
par charle dubois
le 18/09/2009 21:27:16
Je me disais bien...
par seb__2411
le 18/09/2009 21:34:34
?!
par charle dubois
le 18/09/2009 22:26:04
Merci...
par seb__2411
le 18/09/2009 23:00:04
Best of
par Ch_Matt
le 21/09/2009 13:14:23
Attention à Google
par Google Inside
le 18/09/2009 20:41:56
Parlons Java Et Noop plutôt que de commenter les allégations d'un cabinet de communication payé par Microsoft pour dorer leur logo sur la toile.
par Franck M
le 05/10/2009 10:19:51
dingue ?
par Jérémy Lenclois
le 18/09/2009 22:27:42
Et sinon vous en pensez quoi de Noop ?
par Pierre Tran
le 18/09/2009 22:33:37
IHMO
par catherine66666
le 19/09/2009 13:11:49
Vive la différence
par Cclaudic
le 19/09/2009 23:07:58
perso
par Fabrice Monde
le 20/09/2009 13:32:28
dotnet et java
par Revan26914
le 20/09/2009 13:47:34
C'est marrant comme débat...
par Revan26914
le 20/09/2009 13:33:43
un autre point de vue
par berlioz77
le 21/09/2009 13:17:19
Les gestionnaires de parques ne sortent pas de Saint Cyr
par Alguno123
le 28/09/2009 11:08:47
publicité
débat
32 réactions
 
Parlons Java Et Noop plutôt que de commenter les allégations d'un cabinet de communication payé par Microsoft pour dorer leur logo sur la toile.
posté le 05/10/09 à 10:19 par Franck M
Les gestionnaires de parques ne sortent pas de Saint Cyr
posté le 28/09/09 à 11:08 par Alguno123
Aucun rapport ...
posté le 24/09/09 à 14:08 par Silverlight_non
un autre point de vue
posté le 21/09/09 à 13:17 par berlioz77
Best of
posté le 21/09/09 à 13:14 par Ch_Matt
à lire aussi
SUR LES MÊMES THÈMES
Chrome invite les développeurs à publier des extensions
2010 sera-t-elle l’année de Ruby ?
Linkedin ouvre ses API aux développeurs
Microsoft dévoile Silverlight 4
Microsoft s'apprête à lancer WindowsAzure4e
Visual Studio devient un outil de développement pour Linux et Mac OS X
Sécurisez vos applications Web dès leur conception
Facebook met le cap sur l'e-marketing
Microsoft drague les développeurs Eclipse
Visual Studio 2010 bêta 2 disponible sur MSDN
IntelliJ Idea passe en open source
Google annonce App Engine SDK 1.2.6
Un kit de développement de Widget pour BlackBerry
Adobe contourne Apple pour pousser Flash sur l'iPhone
Une plate-forme cloud pour les développeurs TypePad
La SNCF va expérimenter Microsoft Surface dans ses boutiques
Microsoft appâte les petites agences de création Web
HTML 5 va-t-il réussir le pari de la vidéo dans le navigateur ?
Eclipse 3.6 M2 est disponible
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.