janvier
2008
scala, groovy ou autre …
voila, depuis quelques temps, je me demande quel nouveau langage apprendre en plus de java. Portable bien sur, plus facile que java pour le script, open sources évidement.
J’ai regardé Python et Ruby mais j’ai un vrai problème visuel avec ces langages : pas de { } pour délimiter les blocs, ca me bloque (ah ah). Ca doit être le câblage de mes neurones qui est statique et ne veut plus évoluer !
Enfin, toujours est-il que j’en suis arrivé a restreindre mes choix a Groovy et Scala, deux langages proches de java (plus facile à apprendre pour moi), qui tournent sur la JVM.
Maintenant, j’hésite entre les deux.
Scala peut aussi compiler pour la clr de .net ce qui pourrait être intéressant, Groovy a été pensé pour être facile a apprendre par des developpeurs java.
j’ai aussi entendu parler du langage Boo, mais je n’ai pas encore eu le temps de me pencher dessus.
Bon, je vois que je ne suis pas le seul a me poser cette question
je crois que je vais partir sur groovy dans un premier temps, comme ca je pourrai l’utiliser en plugin de certaines applications pour la configuration, ou du code a changer souvent.
C’est peut être l’occasion de faire un petit article sur Scala ?
Je tourne avec Groovy en ce moment, pour la partie script de mon appli Java au boulot. Ca permet à l’utilisateur de personnaliser l’application, ou de développer des fonctions que je n’ai pas encore intégrées, en attaquant directement les classes déjà existantes.
Aucune critique à faire jusqu’à aujourd’hui, mais je ne suis pas rentré trop dans la technique du langage, il y a largement moyen de le rendre opérationnel rapidement avec ce que l’on sait en Java. Je passe de l’un à l’autre très facilement, il y a juste quelques syntaxes qui diffèrent (je me fais régulièrement avoir avec les boucles « for » à la python!).
Mais je vais aller tester Scala de ce pas. Tu viens de m’apprendre son existence, il faut donc que j’aille assouvir ma curiosité!
Perso, je me trouve dans une situation pareille: j’ai surtout peur que je sois dépassé par les évènements et qu’un autre language JVM ne prenne le dessus en me laissant à la traine …
J’esaies donc de m’obliger à tester ces langage (Scala et Groovy comme par hazard). Bon, peut être que je deviens vieux, mais j’arrive pas à m’immerscer dans Scala et le pardigme fonctionnel en général.
Par contre, pour Groovy, c’est pas mal du tout. Il faut juste que j’arrive à ôter le préjugé du « Toy Language ».
Commen mentionné par hikage, Grails est époustouflant, mais j’arrive pas à lui faire confiance pour un grand projet … je supporte mal l’idée de ne pas tout contrôler, de la convention over configuration (c’est débile certains diront, mais c’est comme ça).
Personnellement, je suis en train de tester Groovy ( et Grails ).
C’est pas mal du tout en effet. Ca reste assez proche de Java ( un copier/coller d’une classe Java est normalement compilable en groovy ), tout en proposant des nouveautés qui sont demandées pour le JDK 7 : Closure, surcharge des opérateurs.
Grails, donc un framework à la Ruby On Rails mais en Groovy, est pas mal non plus. Et c’est assez bluffant le temps qu’il faut pour mettre en place une petite application Web ..
Par contre, je n’ai pas encore regarder Scala, et j’avoue que j’ai du lire ce nom pour la première fois que très récemment
Pour mieux comprendre le cablage des neurones :
http://marriageresourcecenter.org/videogallery/4/med/VideoWidget8.htm
J’avais testé groovy il y a quelques mois, c’est vraiment pas mal, intégrable avec Java (tu peux par exemple dans une appli Java créer un petit éditeur de scripts Groovy qui pourraient modifier le comportement métier de ton appli, une fonction de calcul par exemple…)
De plus Groovy a obtenu quelques reconnaissances, il avait gagné un premier prix (je ne plus lequel) l’année dernière.
Bref, c’est vrai qu’aujourd’hui dans la jungle des languages, c’est pas toujours facile de s’y retrouver.