Je pense que votre question passe un peu à côté de l'essentiel. Vous ne devrait pas choisir, vous devriez apprendre les deux !
Si vous êtes vraiment dans une position où vous pouvez choisir le prochain framework (vm, infrastructure), alors vous devez décider de ce que vous allez utiliser et vous pouvez poser une question spécifique avec les avantages et les inconvénients du point de vue de ce que votre application est censée faire.
J'ai utilisé smalltalk (je l'adore) et ruby (je l'adore).
À la maison ou pour un projet open source, je peux utiliser tous les langages que je veux, mais au travail, je dois adopter.
J'ai commencé à utiliser ruby (au travail) parce que nous avions besoin d'un langage de script qui se comportait de manière plus ou moins égale sous solaris, linux et Windows (98, 2000, xp). Ruby était à l'époque inconnu du commun des mortels et il n'existait pas de rails. Mais c'était facile à vendre à toutes les personnes concernées.
(Pourquoi pas python ? la vérité ? Une fois, j'ai passé une semaine à chercher un bogue qui s'est produit lorsqu'un terminal a converti mon espace en tabulation et que l'intention a été gâchée).
Les gens ont donc commencé à coder de plus en plus en ruby parce que c'était tellement relaxant, agréable et pas un nuage dans le ciel.
Paul Graham résume la situation
Il est vrai, certes, que la plupart des gens ne choisissent pas les langages de programmation simplement en fonction de leurs mérites. La plupart des programmeurs se font dire par quelqu'un d'autre quel langage utiliser.
y
Pour être attrayant pour les pirates, un langage doit être bon pour écrire les types de programmes qu'ils veulent écrire. Et cela signifie, peut-être étonnamment, qu'il doit être bon pour écrire des programmes à jeter.
Et quand nous sommes au pays de Lisp, nous essayons de remplacer LISP par smalltalk.
Les bibliothèques, la communauté et la dynamique de Ruby sont bonnes.
Donc, si LISP est toujours plus puissant que Ruby, pourquoi ne pas utiliser LISP ? L'approche typique objections à la programmation en LISP sont :
- Il n'y a pas assez de bibliothèques.
- Nous ne pouvons pas embaucher de programmeurs LISP.
- LISP n'a pas évolué au cours des 20 dernières années.
Ce ne sont pas des objections massives, mais elles valent certainement la peine à considérer.
y
Maintenant, si vous avez le choix entre un puissant et un langage populaire, il peut être un excellent sens de choisir le puissant. Mais si la différence de puissance est mineure, être populaire a toutes toutes sortes d'avantages. En 2005, je réfléchirais longuement avant de choisir LISP plutôt que Ruby. Je ne le ferais probablement que si j'avais besoin d'un code optimisé, ou de macros qui agissent comme de véritables compilateurs à part entière.