Résumé
Ruby est un langage de programmation libre. Il est interprété, orienté objet et multi-paradigme. Le langage a été standardisé au Japon en 2011 (JIS X 3017:2011), et en 2012 par l'Organisation internationale de normalisation (ISO 30170:2012). Yukihiro « Matz » Matsumoto est le créateur de Ruby. Frustré par son expérience en développement Smalltalk et Lisp, il commence la conception d'un nouveau langage en 1993 sous Emacs, puis publie une première version en 1995 sous licence libre. Il enchaîne depuis les nouvelles versions. Depuis l'arrivée d'une documentation anglophone, et du framework web Ruby on Rails en 2004, Ruby a connu un certain engouement qui n'a cessé de croître jusqu'en 2008 dans le monde de la programmation, puis une érosion lente si on en juge par son index Tiobe. Ruby est fortement orienté objet et se rapproche ainsi du paradigme objet de Smalltalk : toute donnée est un objet, y compris les types primitifs ; 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. 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 : est une variable locale, est une variable d'instance, est une variable de classe, est une variable globale, est une constante.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.