Ruby est unique parmi langages de script orientés objet. Dans un sens, c'est un langage puriste pour ceux qui aiment les langages orientés objet. Tout, sans exception, est automatiquement un objet, alors que dans d'autres langages de programmation, ce n'est pas vrai.
Qu'est-ce qu'un objet? Eh bien, dans un sens, vous pouvez y penser en termes de construction d'une voiture. Si vous avez un plan pour cela, alors un objet est ce qui est construit à partir de ce plan. Il contient tous les attributs de l'objet (c'est-à-dire la marque, le modèle, la couleur) et les actions qu'il peut effectuer. Mais, même en tant que langage purement orienté objet, Ruby ne sacrifie aucune facilité d'utilisation ou flexibilité en omettant des fonctionnalités qui ne sont pas expressément liées à la programmation orientée objet.
Concevoir Ruby
L'architecte de Ruby Yukihiro Matsumoto (connu simplement sous le nom de "Matz" sur le Web) a conçu le langage pour qu'il soit suffisamment simple pour les programmeurs débutants à utiliser tout en étant suffisamment puissants pour que les programmeurs expérimentés disposent de tous les outils dont ils auraient besoin. Cela semble contradictoire, mais cette dichotomie est due à la conception orientée objet pure de Ruby et à la sélection minutieuse de fonctionnalités de Matz dans d'autres langages tels que
Perl, Smalltalk et Lisp.Il existe des bibliothèques pour créer tous les types d'applications avec Ruby: analyseurs XML, liaisons GUI, protocoles de mise en réseau, bibliothèques de jeux et plus encore. Les programmeurs Ruby ont également accès aux puissants RubyGems programme. Comparable à Perl CPAN, RubyGems facilite l'importation de bibliothèques d'autres programmeurs dans vos propres programmes.
Qu'est-ce que Ruby ne pas?
Comme tout langage de programmation, Ruby a ses inconvénients. Ce n'est pas un langage de programmation haute performance. À cet égard, Python la conception de machines virtuelles présente un énorme avantage. De plus, si vous n'êtes pas un fan de la méthodologie orientée objet, Ruby n'est pas pour vous.
Bien que Ruby possède certaines fonctionnalités qui ne relèvent pas du domaine des langages orientés objet, il n'est pas possible de créer un programme Ruby non trivial sans utiliser les fonctionnalités orientées objet. Ruby ne fonctionne pas toujours aussi bien que d'autres langages de script similaires dans les tâches informatiques brutes. Cela étant dit, les futures versions traiteront de ces problèmes et d'autres implémentations, telles que JRuby, sont disponibles comme solution de contournement pour ces problèmes.
Comment Ruby est-il utilisé?
Ruby est utilisé dans des applications de langage de script typiques telles que le traitement de texte et les programmes "glue" ou middleware. Il convient aux petites tâches de script ad hoc qui, dans le passé, pouvaient avoir été résolues avec Perl. Écrire de petits programmes avec Ruby est aussi simple que d'importer modules vous avez besoin et écrivez un programme de type "séquence d'événements" presque BASIC.
Comme Perl, Ruby a également de première classe expressions régulières, ce qui rend les scripts de traitement de texte faciles à écrire. Le flexible syntaxe aide également dans les petits scripts. Avec certains langages orientés objet, vous pouvez vous enliser avec du code détaillé et volumineux, mais Ruby vous laisse libre de vous soucier simplement de votre script.
Ruby convient également aux grands systèmes logiciels. Son application la plus réussie est dans le Cadre Web Ruby on Rails, un logiciel qui comporte cinq sous-systèmes majeurs, de nombreux éléments mineurs et une pléthore de scripts de support, de backends de base de données et de bibliothèques.
Pour faciliter la création de systèmes plus importants, Ruby propose plusieurs couches de compartimentation, y compris classe et module. Son manque de fonctionnalités superflues permet aux programmeurs d'écrire et d'utiliser de gros systèmes logiciels sans surprise.
Quelles compétences seraient utiles pour apprendre le rubis?
- Une solide compréhension des concepts orientés objet. Ruby est un langage orienté objet et les fonctionnalités orientées objet sont utilisées partout. Sans cette compétence critique, vous aurez du mal en tant que programmeur Ruby.
- Un peu de connaissances en programmation fonctionnelle. C'est un plus car Ruby utilise largement le bloc ou la «fermeture». Cependant, ne pas avoir cette capacité n'est pas insurmontable. La création de blocs est une fonctionnalité qui peut être apprise assez facilement lors de l'apprentissage de Ruby.
- Un peu de savoir-faire en navigation. La principale façon d'exécuter un script Ruby est à partir de la ligne de commande. Savoir comment naviguer dans les répertoires, exécuter des scripts et rediriger les entrées et les sorties sont des compétences essentielles pour les programmeurs Ruby.
Applications et outils nécessaires pour Ruby
- Le rubis interprète
- Un éditeur de texte tel que Bloc-notes ++, Sciteou Vim. Les traitements de texte tels que Wordpad ou Microsoft Word ne conviennent pas.
- Ligne de commande accès. Bien que les détails de cela diffèrent d'une plateforme à l'autre, Linux, Windows et OSX ont tous cela disponible sans aucun téléchargement supplémentaire ou installation de logiciel.