Ruby - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Ruby
Ruby-logo-notext.png

Apparu en 1995
Auteur Yukihiro Matsumoto
Développeurs Yukihiro Matsumoto et des contributeurs
Dernière version 1.9.2 [+/−]
Paradigmes Objet, impératif, concurrent, fonctionnel
Typage Fort, dynamique
Influencé par Perl, Smalltalk, Python, Lisp, Dylan et CLU
A influencé Groovy, Perl 6
Implémentations Ruby, YARV, JRuby, XRuby, Rubinius, Cardinal, Gardens Point Ruby.NET, IronRuby, MacRuby
Système d'exploitation Multiplate-forme
Licences Licence Ruby et GPL
Site Web ruby-lang.org

Ruby est un langage de programmation libre. Il est interprété, orienté objet, et multi-paradigme.

Le nom Ruby n'est pas un acronyme mais un jeu de mots avec le langage informatique Perl.

Historique

Yukihiro "Matz" Matsumoto est le créateur de Ruby. Ne trouvant pas dans les langages de programmation déjà existants (dont Perl et Python) de quoi le satisfaire, il en commença l'écriture en 1993, et publia une première version en 1995. Depuis, les versions se sont enchaînées, généralement pour Noël.

Les changements de version majeurs ont eu lieu :

  • le 25 décembre 1998 pour la version 1.2.0,
  • le 13 août 1999 pour la version 1.4.0,
  • le 19 septembre 2000 pour la version 1.6.0,
  • le 4 août 2003 pour la version 1.8.0,
  • et le 30 janvier 2009 pour la version 1.9.1 (première version stable de la branche 1.9).

La dernière version stable est la 1.9.2, publiée le 19 août 2010.

Depuis l'arrivée d'une documentation anglophone, et du framework web Ruby on Rails, Ruby connaît un certain engouement, qui ne cesse de croître dans le monde de la programmation.

Fonctionnalités

Les fonctionnalités principales sont :

  • l'orientation objet omniprésente ;
  • le ramasse-miettes chargé de libérer automatiquement la mémoire ;
  • le système de gestion d'exceptions pour gérer les erreurs exceptionnelles ;
  • la possibilité de modifier les classes pendant l'exécution du programme, qu'elles soient définies par l'utilisateur ou non ;
  • l'intégration dans sa syntaxe des expressions rationnelles ;
  • les blocs qui servent d'itérateur et permettent de passer des morceaux de programme en paramètre ;
  • l'héritage simple ;
  • l'inclusion de modules dans les classes, une autre manière de concevoir l'héritage multiple (mixin) ;
  • l'écriture d'extensions en C relativement simple ;
  • les nombres entiers de taille illimitée avec conversion automatique lorsque c'est nécessaire ;
  • la portée des variables définie par leur forme : var est une variable locale, @var est une variable d'instance, @@var est une variable de classe, $var est une variable globale, Var est une constante, etc. ;
  • les threads indépendants du système d'exploitation ;
  • la réflexion, c'est-à-dire la possibilité pour les programmes et les objets de s'inspecter eux-mêmes et de se modifier.

Philosophie

Ruby est fortement orienté objet et se rapproche ainsi du paradigme objet de Smalltalk :

  • toute donnée est un objet, y compris les types ;
  • toute fonction est une méthode ;
  • toute variable est une référence à un objet.

Malgré cet aspect exclusivement objet, la programmation procédurale est possible et fréquente. Ruby utilise une syntaxe simple, inspirée par Eiffel et Ada.

Le langage est souvent présenté comme évitant au maximum les mauvaises surprises, selon le principe de moindre surprise. Mais puisqu'il n'est pas possible d'éviter la surprise de tous les utilisateurs, Yukihiro Matsumoto précise qu'il cherche surtout à éviter sa propre surprise. Ainsi, plus on connaît le langage, plus on connaît la logique de son auteur, et moins on s'étonne des fonctionnalités qu'on découvre.

Page générée en 0.085 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise