mercredi, octobre 25, 2006

Le point apres 2 semaines avec Ruby

Ça fait presque 3 semaines que je programme en Ruby quotidiennement. Rien de compliqué, d'orienté-objet ou utilisant le framework Rails mais du Ruby quand même. J'écris des scripts qui lisent des données qui sont dans Oracle, qui les traitent et les recrachent dans PostgreSQL. Rien de sophistiqué mais la job doit être faite. Voilà donc un petit bilan de ce que j'aime et de ce que j'aime moins.

Ce que j'aime:
  • La syntaxe est très "clean", pas trop de fioritures, de parenthèses à l'excès ou de point-virgules à la fin de chaque ligne. J'aime bien la manière dont le "case" est exprimé. Aussi c'est très facile à apprendre quand ce n'est pas le 1er langage de programmation qu'on apprend.
  • Le code, quand bien indenté, est facile à lire, comme Python.
  • Les expressions regulières sont tres complètes, rien à envier à Perl.
  • De bonnes librairies de base comme pour la connection aux bases (DBI et OCI8) de données ou pour télécharger des pages web (net/http)dont on extraira des éléments.
Ce que j'aime pas:
  • Faire des maths est pénible, surtout avec des floats. Il faut tout le temps se rapeller de quel type est une variable. Ca doit être le prix à payer pour ne pas avoir à déclarer les variables au début du programme. Personellement, je préfère les langages statiquement ou fortement typés à ceux où le typage est dynamique.
  • Il est aussi pénible de créer et manipuler des arrays en 2 dimensions. C'est tellement plus naturel en VB ou en Perl.
  • Peut-être que c'est dû au fait que je suis nouveau avec ce langage (ou est-ce Vim, mon éditeur pour ce projet. Je préfère de beaucoup Kate quand j'ai le choix.) mais j'ai l'impression que je peux moins être "spontané" en Ruby. Ça requiert un peu plus d'analyse à-priori que Perl ou VB.
  • Le manque d'un bon débuggeur interactif au command line. MrGUID semble bon mais requiert X, un luxe que je n'ai pas pour ce projet.

Voilà pour où j'en suis!

2 commentaires:

Nicolas a dit...

J'imagine que vous connaissez RadRails (eclipse based) et Sapphire Steel.
Pourquoi ne les utilisez vous pas?

Nicolas

charlesnadeau a dit...

Nicolas,

Non je ne les connais pas.
Le probleme que j'ai eu pour ce projet c'est que j'utilisais juste Ruby, pas Ruby on Rails et que le serveur auquel j'avais acces n'avais pas d'interface graphique. Je ne pouvais me fier qu'a vi...

Charles