Ah bon , C’est lent Groovy ?

Depuis que je me sers de Groovy pour scripter les tâches d’admin un peu rébarbatives qu’il peut parfois y avoir dans un projet de développement quelconque, je rencontre de plus en plus souvent deux questions assez proches (dont l’une au moins a été posée par fabstream, avec toute la curiosité qui le caractérise).
  • Mais c’est pas un peu lent Groovy ?
  • Groovy, c’est sympa pour faire des scripts à la maison, mais au bureau, ça fait pas un peu amateur ?
A ces deux questions, une seule répons : c’est vrai, mais c’est pas ça qui compte.
Ce qui compte, avec mon utilisation de Groovy et son utilisation en général, c’est que Groovy est un langage très expressif, permettant de faire facilement et rapidement (en temps de développement) des trucs compliqués. Par exemple, hier encore, j’ai dû renommer des tonnes de fichiers dans subversion pour supprimer des caractères (genre #, espace et autres cochonneries). J’aurais pu le faire en shell Linux (j’ai même essayé). Seulement, au bout d’un moment, j’en ai eu marre de patauger dans les options diverses de sed, find, et du shell. Et à ce moment-là, j’ai dégainé mon meilleur éditeur Groovy, et j’ai balancé ça :

(Les fautes de frappe sont d’origine)
Eh ben devinez quoi ? En 30 minutes j’avais un script qui tournait, et que je comprenais. Et mon chef était content ! Et finallement, c’est ça qui compte bien plus que le temps d’exécution.
Je vais prendre un cas plus général pour étayer mon propos. Si un jour je dois coder une application pour GAE, je la ferais d’abord avec gaelyk. Parce qu’avec gaelyk, je passerais pas des jours avant d’avoir un truc qui marche. Et si les requêtes sont un peu lentes à s’exécuter, ça ne me dérangera pas trop (parce que c’est chez google que ça chauffera un peu plus). Et si à un moment on a besoin d’optimiser le truc, on apssera alors à un framework un peu plus efficace, mais avec lequel travailler sera plus contraignant.

En fait, ce que j’essaye d’expliquer ici, c’est que si Groovy est lent en termes d’exécution, il est en revanche très efficace en termes de développement. Et que hélas, contrairement à ce qu’on pense la plupart du temps, le second facteur est nettement plus important que le premier. C’est d’ailleurs pour ça, à mon avis, qu’un outil copmme gradle marche si bien : il se place précisément là où les développeurs préfèrent investir dans du lisible que dans de l’efficace (et je dis ça alors que je n’utilise jamais gradle).
Publicités

4 réflexions sur “Ah bon , C’est lent Groovy ?

  1. En plus, ?? mon avis, c’est aussi lent au lancement surtout parce qu’on est en mode script. Et qu’il faut donc faire une passe de compil’ (un peu comme perl). Je pense donc que si tu compiles groovy en bytecode, tu n’aurais plus le probl??me de lenteur (ou beaucoup moins) d?? ?? la compilation initiale transparente.(Note : je suis loin d’??tre expert Groovy. Ce que je dis ci-dessus est une supposition au vu des diff??rents sons de cloche lus ou entendus ??a et l??).Baptiste

  2. Groovy est loin d’??tre aussi lent qu’on le dit. Il y a beaucoup de "l??gende" l?? dedans. Une fois un script compil??, ??a tourne plut??t vite, sauf "cas extr??mes". J’avais fait un billet l?? dessus, plus g??n??ral sur Groovy. Voici le lien au cas o?? ??a vous int??resse : http://www.jroller.com/melix/entry/retour_d_exp%C3%A9rience_groovyL'id??e globale, c’est que Groovy convient ?? une large gamme de besoins. Lorsque la performance est critique, on *peut* ??crire un bout de code en Java, et c’est tout de m??me la principale chose ?? retenir.

  3. C’??tait aussi ce que je voulais dire, ??videment. Sauf quand la <br/>performance maximale est absolument n??cessaire, le Groovy est bien <br/>suffisant.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s