Ruby
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 informaticien japonais concepteur du langage de programmation Ruby. Il est couramment surnommé « Matz. ») 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 un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par...), impératif, concurrent, fonctionnel
Typage Fort, dynamique (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il peut être employé comme :)
Influencé par Perl, Smalltalk, Python, Lisp, Dylan et CLU
A influencé Groovy, Perl 6
Implémentations Ruby (Ruby est un langage de programmation libre. Il est interprété, orienté objet, et multi-paradigme.), 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 plusieurs plates-formes, c’est-à-dire le couple liant ordinateur et système d’exploitation. En anglais on parle...)
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 adresse Web. On dit aussi site Internet par métonymie, le World Wide Web reposant sur Internet.) ruby-lang.org

Ruby est un langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une...) 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 œuvre, ou l'exploitation d'un système d'information. Le terme est toutefois...) 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 l'écriture des programmes informatiques. C'est une étape importante de la...) 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 à l'équinoxe) et des points cardinaux (nord de la boussole) ;) 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 Brisson (1723-1806) en 1760.) 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 l'héritage multiple, dans lequel une classe peut hériter de comportements et de fonctionnalités de plus...) (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 modélisation, de l'analyse, de la commande et, de la régulation...) 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 est utilisée pour marquer un rôle dans une formule, un prédicat ou un algorithme. En statistiques, 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 (Dans les technologies de l'information, une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction, d'un événement, etc.) 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 procédural. Une procédure, aussi appelée routine,...) 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 (λόγος), terme inventé par Xénocrate signifiant à la fois raison, langage, et raisonnement) est dans une première...) de son auteur, et moins on s'étonne des fonctionnalités qu'on découvre.

Page générée en 0.060 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