kim :
un langage propre n'est pas un langage concis.
N'importe quoi. Le fait d'être propre et le fait d'être concis est intimement lié. Si tu as un langage soi-disant propre, mais dont les méthodes propres ne sont pas faites pour être concises, dans 90% des cas, à moins que ça pose un problème immédiatement, tu vas choisir la méthode crade un peu plus concise -- et donc dans les faits, ça sera un langage crade. Par exemple, dans le cas de Caml :
- le filtrage est un exemple de cas où une méthode très très crade (accéder à la représentation mémoire interne d'un objet sans encapsulation) est accessible avec une syntaxe très concise et efficace : résultat, bcp de progs se situent à un niveau bcp trop bas. La solution est soit de supprimer le filtrage (mais bof), soit de permettre une encapsulation au niveau du filtrage (ce qui, là, serait très sympa)
- l'orientation objet, à l'inverse, est assez propre, mais tellement verbeuse que personne ne s'en sert en pratique...
Oui, Caml a d'autres qualités (typage statique, contrairement à Ruby ; sûreté des accès mémoire et GC, contrairement à C), mais ces défauts-là font que c'est loin d'être un langage propre. Alors que Ruby, à part le fait que le typage est dynamique et que la portée des variables est un peu funky, je ne vois pas grand-chose à lui reprocher : il a une orientation objet très propre, et suffisamment bien faite pour être utilisée.
Si tu veux du concis, prend le perl, ça ira tellement mieux.
Justement, Perl c'est affreusement crade : pour faire un tableau de tableaux, tu dois galérer avec des références, c'est horrible. Je ne parle même pas de faire toi-même des structures de données (par exemple si tu fais un conteneur "file de priorité", ça va être très galère à utiliser) C'est très concis si tu veux faire de la manipulation de texte, c'est très verbeux dans les autres cas.