|
|
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. |
|
|