D’une part, une relation entre le nombre de mots clefs et la simplicité1 d’un langage reste à démontrer. Et cette démonstration me semble compromise puisque l’on peut facilement trouver un contre-exemple : Brainfuck.
D’autre part, il y a mot clef et mot clef. Certains arguent de la simplicité1 de leur langage préféré par le nombre de mots clefs tels qu’ils sont définis par la grammaire du dit langage, en oubliant les mots clefs de macros, constructions, structures ou fonctions très fréquentes. P.ex., en Common-Lisp, la fonction (macro en fait) loop utilise une multitude de mots clefs (for, step, do...). Pour maîtriser Common-Lisp, il vaut mieux connaître loop et ses principales constructions, or ce ne sont pas des mots clefs de la grammaire. Pour info, le Lisp a besoin de seulement neuf primitives ; tout le reste peut être écrit à partir de ces neuf-là, donc la grammaire est très petite en mots clefs.
Et ceci est aussi valable pour les principaux messages des langages comme Io ou Smalltalk : leur grammaire n’a pas beaucoup de terminaux (mots clefs) mais ne connaître qu’eux n’aide pas beaucoup à leur usage.
Ce qui m’amène à la simplicité (et donc au renvoi 1 de ci-dessus) : compter le nombre de mots clefs ou regarder les graphes de « dépendance » (donnés dans un commentaire précédent), ça ne donne qu’une idée de la simplicité d’une grammaire pour un compilateur/interprète (et encore, ajouter des mots clefs peut simplifier une grammaire en la rendant LL(1) ou LALR(1), et je dis bien « une grammaire » : le susdit graphe dépend de la grammaire choisie et il n’y a pas qu’une grammaire par langage). En tout cas, cela ne donne aucune indication sur la simplicité d’un langage pour un humain.
[^] # Re: Langages ne sont plus comparables en tant que tel
Posté par Sylvain Sauvage . En réponse à la dépêche Ruby 1.9.0 est sorti pour Noël. Évalué à 2.
D’une part, une relation entre le nombre de mots clefs et la simplicité1 d’un langage reste à démontrer. Et cette démonstration me semble compromise puisque l’on peut facilement trouver un contre-exemple : Brainfuck.
D’autre part, il y a mot clef et mot clef. Certains arguent de la simplicité1 de leur langage préféré par le nombre de mots clefs tels qu’ils sont définis par la grammaire du dit langage, en oubliant les mots clefs de macros, constructions, structures ou fonctions très fréquentes. P.ex., en Common-Lisp, la fonction (macro en fait) loop utilise une multitude de mots clefs (for, step, do...). Pour maîtriser Common-Lisp, il vaut mieux connaître loop et ses principales constructions, or ce ne sont pas des mots clefs de la grammaire. Pour info, le Lisp a besoin de seulement neuf primitives ; tout le reste peut être écrit à partir de ces neuf-là, donc la grammaire est très petite en mots clefs.
Et ceci est aussi valable pour les principaux messages des langages comme Io ou Smalltalk : leur grammaire n’a pas beaucoup de terminaux (mots clefs) mais ne connaître qu’eux n’aide pas beaucoup à leur usage.
Ce qui m’amène à la simplicité (et donc au renvoi 1 de ci-dessus) : compter le nombre de mots clefs ou regarder les graphes de « dépendance » (donnés dans un commentaire précédent), ça ne donne qu’une idée de la simplicité d’une grammaire pour un compilateur/interprète (et encore, ajouter des mots clefs peut simplifier une grammaire en la rendant LL(1) ou LALR(1), et je dis bien « une grammaire » : le susdit graphe dépend de la grammaire choisie et il n’y a pas qu’une grammaire par langage). En tout cas, cela ne donne aucune indication sur la simplicité d’un langage pour un humain.