Ruby - Définition et Explications

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 (Yukihiro Matsumoto (????, Matsumoto Yukihiro en japonais), né le 14 avril 1965, est un...) et des contributeurs
Dernière version 1.9.2 [+/−]
Paradigmes Objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans...), impératif, concurrent, fonctionnel
Typage Fort, dynamique (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il...)
Influencé par Perl, Smalltalk, Python, Lisp (Lisp est la plus ancienne famille de langages impératifs et fonctionnels. Développé...), Dylan et CLU
A influencé Groovy, Perl 6 (Perl 6 est une refonte totale du langage de programmation Perl. Cette refonte garde l'esprit...)
Implémentations Ruby (Ruby est un langage de programmation libre. Il est interprété, orienté objet, et...), YARV, JRuby, XRuby, Rubinius, Cardinal, Gardens Point (Graphie) Ruby.NET, IronRuby, MacRuby
Système d'exploitation Multiplate-forme (Un logiciel multiplate-forme ou multiplateforme est un logiciel conçu pour fonctionner sur...)
Licences Licence Ruby et GPL
Site Web (Un site Web est un ensemble de pages Web hyperliées entre elles et mises en ligne à une...) ruby-lang.org

Ruby est un langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain...) 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 (On appelle langage informatique un langage formel utilisé lors de la conception, la mise en...) Perl.

Historique

Yukihiro "Matz" Matsumoto est le créateur de Ruby. Ne trouvant pas dans les langages de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...) 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 (Le mot monde peut désigner :) de la programmation.

Fonctionnalités

Les fonctionnalités principales sont :

  • l'orientation (Au sens littéral, l'orientation désigne ou matérialise la direction de l'Orient (lever du soleil...) 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 (Servent est la contraction du mot serveur et client.) d'itérateur et permettent de passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques...) 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 (Certains langages de programmation orientés objets (par exemple C++, Eiffel) permettent...) (mixin) ;
  • l'écriture d'extensions en C relativement simple ;
  • les nombres entiers de taille illimitée avec conversion automatique (L'automatique fait partie des sciences de l'ingénieur. Cette discipline traite de la...) lorsque c'est nécessaire ;
  • la portée des variables définie par leur forme : var est une variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle...) 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 (Dans les technologies de l'information, une donnée est une description élémentaire,...) 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 (La programmation procédurale est un paradigme de programmation basé sur le concept d'appel...) 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 (La logique (du grec logikê, dérivé de logos (λόγος),...) de son auteur, et moins on s'étonne des fonctionnalités qu'on découvre.

Page générée en 0.193 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique