TUTORIEL OUTILS 
Introduction à Ruby
Combinant le meilleur de Smalltalk, Perl et Python, Ruby dispose de qualités qui le rendent très attrayant pour les développeurs lassés des langages inutilement compliqués. (19/03/2005)
Le langage Ruby, au départ très confidentiel car ne disposant que d'une communauté japonaise, gagne en popularité, au point d'être comparé à Python quand il s'agit de définir un langage simple d'accès et complet.

Plus récemment, Ruby s'est distingué sur le terrain de PHP grâce à un framework de création d'application Web très complet, baptisé Rails. Ruby On Rails gagne peu à peu le coeur des développeurs voulant prendre leur distance face à un PHP considéré comme bancal et trop proche de Java.

Ruby est une combinaison de Smalltalk pour l'utilisation de l'Objet, de Python pour la simplicité d'utilisation, et de Perl pour la flexibilité (Ruby étant par ailleurs un clin d'oeil à Perl). Sans être la réponse à tous les problèmes des programmeurs, il mérite que l'on s'intéresse à son approche inhabituelle du développement.

Présentation
L'initiateur de Ruby, Yukihiro "Matz" Matsumoto, l'a créé en 1995 autour d'une idée, "quick and easy" (rapide et simple) : le langage devait être non seulement rapide à prendre en main, mais également faciliter le développement d'applications, sans pour autant en limiter les possibilités. Ruby, un langage interprété et orienté Objet, dispose des caractéristiques suivantes :
- une syntaxe très simple
- des variables non typées, dont la déclaration est facultative
- une gestion interne de la mémoire
- une application stricte de la règle "tout est objet"
- la possibilité d'appeler des modules externes

Ceux qui pensaient avoir trouvé en Python l'idéal de la syntaxe simplifié (abandon des points-virgules et des accolades, blocs délimités par l'indentation) trouveront en Ruby une syntaxe parfois encore plus simple. En revanche, cette syntaxe prend parfois une distance telle par rapport aux syntaxes habituelles (type C) que Ruby ne peut être recommandé comme premier langage, ou langage d'apprentissage : la transition vers d'autres serait plus ardue qu'avec, par exemple, Python.

Pour utiliser Ruby, des installateurs sont disponibles en ligne pour Windows, Mac OS X et autres.


Un premier programme
Voici un premier programme Ruby, présentant quelques caractéristiques vitales. Notez que les programmes Ruby sont contenus dans des fichiers portant l'extension .rb.

# Méthode bonjour()
def bonjour(nom)
resultat = "Bonjour, " + nom
return resultat
end

# Programme principal
3.times do
puts bonjour("petit canard")
end


Ce petit programme, une fois lancé, affiche le résultat suivant :
Bonjour, petit canard
Bonjour, petit canard
Bonjour, petit canard

Nous voyons ici comme créer une méthode, transmettre un paramètre et créer une simple boucle.

def en Python permet de créer une fonction, tandis qu'en Ruby il créé une méthode de la classe Object, la racine de la hiérarchie des classes de Ruby. Toute méthode se termine par le mot-clef end. Notre méthode, bonjour(), prend un seul argument, que nous adjoignons à la chaîne "Bonjour, " via le signe de concaténation +. Nous mettons enfin le tout dans la variable resultat, qui ne sert qu'une fois, car renvoyée aussitôt par return vers l'instruction ayant appelé la méthode.

3.times est une construction particulière de Ruby : times est ici une méthode de l'objet 3. En effet, tout dans Ruby étant un objet, 3 est donc automatiquement reconnu comme un objet de type Integer (Entier) : il dispose donc de toutes les méthodes rattachées à cet objet. i.times est une méthode permettant de lancer une itération, c'est-à-dire une boucle, entre 0 et i-1. Les instructions placées entre les mots-clefs do et end seront donc répétées ici trois fois. Ruby dispose d'autres manières de créer des itérations ; notablement, chaque type de données dispose de son propre jeu d'itérateurs, ce qui rend le code beaucoup plus facile à lire et écrire.

puts, enfin, est l'équivalent Ruby du echo de PHP, du print de Python ou du sprintf() de C : elle affiche le contenu d'une chaîne à l'écran. En l'occurrence ici, la chaîne est renvoyée par l'appel de fonction bonjour(), donc c'est le résultat qui est affiché trois fois. Ici encore, Ruby dispose d'autres méthodes permettant d'afficher une chaîne, puts étant propre à ce langage.

  Forum

Réagissez dans les forums de JDN Développeurs

Ce premier exemple permet déjà de découvrir quelques-unes des spécificités de ce langage, et d'apprécier la manière dont il a été conçu. Nous plongerons plus en avant dans ses fonctionnalités dans de prochains articles, pour culminer avec une application faisant usage du fameux framework Rails.
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages