La plupart des langages de programmation ont des décisions de conception qui influencent leur utilisation et leur applicabilité.
Par exemple:
- Python se concentrait sur la maintenabilité / lisibilité du code et avait l'indentation faire partie du langage lui-même.
- L'intention de Java était d'être OOP multiplateforme «plus facile» et «plus convivial» que C ++
- Objective-C a été construit comme un wrapper OO autour de C ne connaissant pas l'avenir de C ++ à l'époque
- Erlang est conçu pour les systèmes hautement tolérants aux pannes et concurrents
- PHP conçu pour gérer la création dynamique de pages Web
- CoffeeScript conçu pour exposer les bonnes parties de Javascript et ajouter du sucre syntaxique OOP et masquer les nuances (globales, etc.) de JS `` dans les coulisses '', etc.
Chaque langage de programmation a essayé d'exploiter et de capitaliser sur un créneau particulier à mon humble avis. Ce qui précède sont mes perspectives sur quels étaient les principes fondateurs des langages de programmation et qui ont gouverné leur évolution et leur adoptabilité généralisée. Bien sûr, il y en a beaucoup plus, mais la liste n'est donnée qu'à titre d'exemple
Cependant, j'ai eu du mal à comprendre les principes fondateurs sur lesquels Ruby est basé et sa popularité croissante. Quels étaient les principes fondateurs de Ruby qui le rendent populaire aujourd'hui? Ou est-ce le génie d'un homme qui a conçu le framework Rails? Si ce dernier était-ce que Ruby a rendu la conception de Rails meilleure / plus facile / plus rapide? Dans quel sens?
La raison la plus souvent citée par son créateur est «... voulait un langage de programmation amusant faiblement typé» - je ne vois pas cela comme une raison de créer un nouveau langage de programmation! La programmation est très amusante à mon humble avis, quelle que soit la langue (chaque langue a quelques mauvaises parties, mais on peut la contourner ou vivre avec).
Alors, quel créneau Ruby a-t-il exploité (ou exploite-t-il) qui n'est pas exploité par les langues actuelles? Quel est le «point fort» (USP) de Ruby qui a conduit à son adoption généralisée? Qu'est-ce que Ruby a fait qui n'a pas été fait auparavant (ou qui a été extrêmement difficile)?
Je ne suis pas un programmeur Ruby, mais juste un noob Ruby et donc la confusion.
Avertissement : Ce n'est PAS une guerre de flammes et je ne cherche pas de réponses de type Ruby vs langage de programmation. Je recherche les décisions de conception sur lesquelles Ruby est basé et qui ont conduit à une adoption généralisée. Quel créneau Ruby satisfait-il pour devenir populaire ou est-ce uniquement attribué à Rails?
Cela ne répond pas directement à la question du titre, mais répond à certains points soulevés (c'est-à-dire pourquoi Ruby a été créé)
Citations de Yukihiro 'Matz' Matsumoto, créateur de Ruby, qui peuvent aider à expliquer ce qui a inspiré sa création:
Donc, fondamentalement, Matz voulait un langage extrêmement orienté objet conçu pour le bonheur des programmeurs.
la source
+
in1+1
est une méthode.Ruby (togehter with rails) a rendu la convention sur la configuration populaire.
L'ancienne voie (non rubis sur les rails) était
Avec une convention sur la configuration, le travail de base pour cela se fait automatiquement:
contras: vous devez apprendre toutes les cenventions, donc apprendre le rubis sur des rails sur la première manche est plus difficile.
avantages: une fois que vous connaissez les conventions, il est assez facile de comprendre le code des autres développeurs ruby on rails car chacun est obligé de suivre les mêmes conventions.
pendant ce temps, la convention sur la configuration est entrée dans de nombreux écosystèmes de codage
la source
Premièrement, Ruby est un "langage courant". Peut-être que vous voulez dire "Langues qui étaient populaires lors de la création de Ruby en 1995."
J'aime Ruby pour les mêmes raisons que j'aimais Perl:
C'est puissant et expressif. Je peux écrire sur une ligne de code Ruby au lieu de cinq lignes de Java ou C ++. Il n'y a aucune répétition qui ne peut pas être prise en compte avec un minimum d'agitation.
C'est dynamique. Les méthodes et les propriétés peuvent être créées au moment de l'exécution, donc je peux encapsuler des objets autour de choses définies en externe, comme des tables de base de données, sans dupliquer la définition de ces choses et sans reconstruire l'application.
Il existe un excellent livre sur le langage ( Programming Ruby ) qui est à la fois lisible et complet.
Il existe un référentiel unique pour les packages du domaine public et une interface de ligne de commande pratique pour le référentiel.
Mais j'aime mieux Ruby que Perl car il est plus lisible.
Il existe de nombreuses pages comparant Ruby à Python. Je les aime tous les deux. Je préfère Ruby, mais j'ai une expérience limitée avec Python.
la source