septembre
2009
Décidément sur tous les fronts, Google vient de présenter un de ses nouveaux projets : Noop, un nouveau langage expérimental basé sur la JVM.
Avec un objectif des plus nobles (mais sur lequel beaucoup se sont cassé les dents) : prendre le meilleur des autres langages pour concevoir un langage qui encouragerait l’utilisation des bonnes pratiques de codage, en mettant en avant la lisibilité du code…
Basé sur le langage Java, Noop se distinguera en particulier en intégrant directement au sein du langage l’injection de dépendances et des tests unitaires automatisées, tout en évitant les concepts « lourds » ou sources d’erreurs…
Les code-sources Noop seront utilisable de trois manières :
- Ils pourront être traduit en Java (en se passant alors de certaines fonctions du langage).
- Ils pourront être interprété à la volée comme un langage de script.
- Ils pourront être directement compilé en bytecode Java.
Noop rejoint donc la famille des langages compilables en bytecode… A surveiller de près donc !
Source : JavaWorld
15 Commentaires + Ajouter un commentaire
Tutoriels
Discussions
- L'apparition du mot-clé const est-il prévu dans une version à venir du JDK?
- [ fuite ] memoire
- [REFLEXION] Connaitre toutes les classes qui implémentent une interface
- Difference de performances Unix/Windows d'un programme?
- Classes, méthodes private
- jre 1.5, tomcat 6.0 et multi processeurs
- Recuperation du nom des parametres
- Possibilité d'accéder au type générique en runtime
- Définition exacte de @Override
@*alexandre*
Surement car c’est juste purement chiant, absolument pas un défi au niveau algorithmique et que ce n’est absolument pas bling bling. Ca te plairait de developper ce genre de choses? Moi pas trop perso.
Ils ont 20% de leur temps pour développer ce qu’ils veulent, en général associé à un point qui les impacte, qui les amuse un tant soit peu, qui les passionne. Je doute qu’il y ait beaucoup de gens qui bossent sur SAP chez google hors comptables & cie. SAP!=passion
Personellement je n’arrive pas à comprendre que des ingénieurs de chez google perdent encore leur temps à réinventer la roue alors qu’ils pourraient approcher des problématiques business complexe.
Je sais bien que ca fait partie de leur 20% de temps libre payer par l’entreprise, mais j’ai du mal à comprendre leur approche, pourquoi ne développe pas t-ils des interfaces liés au monde de SAP par exemple ?
C’est tellement utopique de vouloir développer de nouveau langage qui proposent le même ensemble d’api que java.
Oui j’avoue c’est un peu racoleur
Mais l’ambition du langage est bien de poser les bases des concepts d’un langage moderne…
a++
C’est super racoleur comme titre de news. C’est pas parce qu’on s’exécute sur une JVM qu’on veut remplacer Java. Parce que sinon, le Cobol.NET veut remplacer C# selon vous ? De plus Ruby s’exécute déjà sur la JVM pour des raisons de perfs (bah oui Ruby c’est lent sinon :-D)
Pour l’héritage, le virer c’est une idée. A voir. Si ça peut éviter qu’il soit détourné de son usage normal…
@Lunatix : si tu ne peux pas tester de méthode privé et que tu le veux, c’est souvent (mais pas toujours) que le traitement dans son ensemble est trop complexe pour un seul point d’entrée (1 méthode publique qui appelle 10 méthodes privées, signe de mauvaise conception généralement)
y’a des trucs vraiment smart. les classes de test gerées dans le langage, avec la possibilité d’acceder a tout, meme en traversant l’encapsulation, c’est excellent. tester une methode private sans bidouille. le grall
sinon, beaucoup de choses inspirées de scala : final as default, avoid null avec Option, no static et bien sur Functions/blocks/closures/
ca peut etre pas mal
@zedros : On est d’accord qu’au final la part d’implication de Google aura surement un importance sur la viabilité du projet. Mais en attendant cela peut être une bonne manière pour Google de lancer la chose sans trop se risqué, et voir ce que cela donne…
Ca me fait un peu penser à « F3″, le langage à l’origine de JavaFX, qui semblait à l’origine venir d’une seule personne et qui était plutôt présenté comme une demo technique.
Sinon pour Google Code il me semble qu’il n’accepte que des projets open-sources
a++
@zedros, je ne connais pas le fonctionnement non plus … Mais vu que c’est hébergé sur leurs machines, ils pourraient en théorie piquer les bonnes idées.
Après, on sait tous que Google ne fait pas le mal !!! lol
adiGuba : hum, je viens de relire la bête est en effet on peut lire dans l’article lié :
Perhaps the biggest news at the JVM Language Summit was the formal announcement of Google’s Noop programming language for the Java Virtual Machine.
Toutefois, la page de Noop, en elle même, dit juste :
Who’s behind Noop?
Noop is a side-project from a collection of like-minded developers and contributers. We hail from several companies, including (but not limited to) Google.
Bref, j’suis allé voir sur la page du JVM Language Summit. Dans le planning on peut y trouver le pdf de la présentation. Dedans, rien ne dit qu’il s’agit d’un projet soutenu/supporté/utilisé par google. Il est juste qu’il y est hébergé. Seul le détail de la présentation évoque que le speaker est de google. Or avec leur fameux 20% off, rien ne dit qu’il s’agit effectivement d’un projet google. D’ailleurs les grosses pontes google ne me semblent pas sur ce projet (crazy bob lee, joshua bloch…).
Au final, je suis plus incliné à penser qu’il s’agit d’un projet hébergé sur google code, par des gars travaillant notamment pour google, mais non utilisé/évangélisé par google pour l’instant. Maintenant, clairement, les choses peuvent changer. A noter d’ailleurs qu’il n’y a encore rien à télécharger pour ce projet si ce n’est un document « proposals »…
@benwit : euh… j’avoue ne pas connaitre le détail de google code… Ils n’autorisent pas les projets GPL ? M’enfin, mon idée de pub facile est ratée de toutes façons, je ne bosse pas pour google lol
@adiGuba, je me suis fait les mêmes réflexions
@tulipe bleu, merci pour le lien
@zedros, note pour maintenant : Attention, si tu héberges ton projet de la mort qui tue chez eux, ils risquent de te le piquer non ?
zedros > D’après la source il a bien été présenté par Google.
Maintenant c’est sûr qu’il faudra voir l’importance qui sera donné à ce projet…
a++
hum, petite précision : rien ne dit que Google soutient ce projet. Google ne fait que l’hoster actuellement, bien qu’il ait été démarré par des ingénieurs google d’après ce que j’ai pu lire.
++
Note pour plus tard : pour un max de couverture, lancer mon projet de la mort qui tue (à définir) sur google code.
La phrase « Implementation inheritance » signifie en français « héritage d’implémentation ».
Certain considère que c’est une mauvaise pratique d’heritage.
Tu peux trouver un article qui explique le problème ici :
http://www.dotnetguru.org/articles/dossiers/heritageimpl/FragileBaseClass.htm
Pour le moment je doit dire que je n’ai pas trop approfondi la chose…
Pour l’abus des sous-classes je présume qu’ils veulent privilégier l’encapsulation à l’héritage, ce qui couplé à l’utilisation d’interface permet une meilleure abstraction de l’implémentation. Les sous-classes jouent souvent sur des spécificités de l’implémentation de la classe parente, ce qui peut poser problème en cas de changement…
a++
J’ai jeté un coup d’oeil à leur site.
# Implementation inheritance (subclassing)
# Primitives
# Unnecessary boilerplate
Abus de sous classes ? Les interdire carrément peut paraît un peu extrême.
Quant aux deux autres points, ils n’expliquent pas trop ce qu’ils reprochent.
Tes billets sont de vraies mines d’informations.
J’espère que ça va continuer ;o)