Professeur de la "leçon" FiFouille
Ruby est en version 1.8, Ruby 2.0 est prévu dans le courant de l'année. Ruby est sous licence GPL. Ruby sert à plein de choses, de l'administration système, des scripts, de la génération de document (latex par exemple).Ca peut être un bon substitut à d'autre langage de script comme Perl ou python. Ca peut aussi servir pour des applications plus classiques comme vous le feriez pour du python avec un binding gtk ou des histoires du genre. Aujourd'hui ruby est à la mode. C'est aussi à la base de Ruby on Rails, le fameux framework web quifaittoutmemelecafé.
ERB lui c'est une sorte de métalanguage où on peut insérer du code Ruby un peu comme on veut pour générer dynamiquement du html, latex, docbook, etc etc lui aussi il est utilisé dans Ruby On Rails, pour les 'vues' et enfin, ça peut servir comme premier langage de script appris dans le cadre scolaire ou pour le fun.
Comme les langages java python, D, C#, Ruby a un garbage collector ça veut dire qu'il s'occupe tout seul de la gestion mémoire, pas besoin d'allouer ou libérer la mémoire qu'on utilise.
Il est procédural (comme du C), orienté objet (comme du java), fonctionnel (comme lisp ou scheme). En ruby, tout est objet. Si vous ne savez pas ce que c'est, vous allez le sentir sans même qu'on ait à vous l'expliquer. Une chose à ajouter aussi, Ruby a un principe intéressant dans son implémentation : le principe de "convention", least surprise. En gros, il réagit comme vous pensez qu'il le ferait, un tableau, une liste, une table de hachage vont réagir de la même manière plus ou moins. Un exemple avec Ruby, si vous connaissez le fonctionnement général du langage, en général pour de nouveau type de donnés il y a moyen de s'en sortir sans même lire la doc, ça marche comme le reste ;)
Le grand troll actuel "Ruby c'est lent" alors oui, c'est moins rapide que d'autres langages de scripts comme du python par exemple. Moins "rapide", si vous voulez gérer un tableau de 500 000 éléments et réaliser un traitement statistique par exemple. Pour une utilisation classique vous ne vous en rendrez même pas compte mais bon, les gens de ruby sont gentils, ils bossent là dessus.
On va donc commencer à essayer un peu la bête, sinon c'est pas drole. Je suppose que vous êtes tous sous Ubuntu/Debian & dérivés, donc ça va aller tout seul. Ce dont on va avoir besoin, Ruby, l'interpréteur et pour nos essais, on va aussi installer irb, interactive ruby c'est comme le mode interactif de python pour ceux qui connaissent, et c'est pratique pour les expérimentations rapides. Donc, prennez votre terminal favori ou synaptic et en avant pendant que ça s'installe, il est aussi possible de s'amuser avec ruby1.9, la version de développement. Mais ça ne supporte pas encore tout, en tout cas pas au niveau du packaging debian/ubuntu, alors si vous voyez le slide, y'a une petite astuce. Pour avoir l'autocomplétion dans irb, histoire de pouvoir faire [1,2,3].<TAB> et avoir toutes les méthodes (fonctions) utilisables sur un tableau.Très pratique quand on débute (et même quand on débute pas) alors pour les pas habitués du shell, ça met simplement la ligne require 'irb/completion' dans un fichier .irbirc de votre HOME ( echo "require 'irb/completion'" > ~/.irbrc )
Il ya aussi deux autres programmes utiles :