L'intérêt de la documentation, d'une spécification un peu formelle (mais pas forcément complètement) du langage, c'est de pouvoir savoir rapidement ce qu'est votre langage : une énumération exhaustive de ses constructions, et une description précise, par exemple, de son comportement à l'exécution, de ses règles de typage, les algorithmes d'inférence de type et de garbage collection (si ça intéresse des gens : c'est un Boehm GC).
Le parser est un bon départ : tu pourrais le prendre à l'identique, enlever toutes les productions (garder que la partie "grammaire"), et mettre ça sur le site, ça serait déjà un bon progrès.
Ce que j'ai cherché sur votre site, c'est l'analogue de ce document pour Go : The Go Programming Language Specification.
Dans un deuxième temps, je serais intéressé par un condensé d'informations sur les nouveautés du langage et les choix que vous avez fait. Pour Go, c'est ce document : Language Design FAQ.
J'ai effectivement remarqué le sens de l'humour (entre nous, je me demande si le "THREE FUCKING TIMES" ne risque pas de rebuter certains anglophones, c'est quand même un peu vulgaire), ça a son charme, mais je trouve le texte en page d'accueil trop long et trop verbeux : quand on regarde 5 minutes un nouveau langage, on a besoin de quelque chose de plus dense et informatif. Le "Poignant guide to Ooc", c'est pour dans un second temps.
Par contre, il faut retenir les exemples de code source, c'est une très bonne idée.
Bref, je pense qu'une documentation concise mais précise et complète serait le meilleur moyen, justement, d'éviter les remarques superficielles, en permettant aux gens d'avoir un aperçu en profondeur du langage en un temps raisonnable.
Parce que "prendre la peine de l'essayer", c'est une bonne idée, mais pour pouvoir tout essayer il faut commencer par se renseigner sur tout ce qu'il y a, justement, à essayer; et si on essaie mais passe à côté d'une partie des fonctionnalités, c'est dommage.
Pour revenir au "se prend trop au sérieux" (opposé à l'humeur et la détente dans les docs) : ce que je voulais dire, c'est que quand on va sur le site web, on lit en gros (j'exagère volontairement le trait) « ooc est un roksor langage qui se base sur des techniques ultra-modernes, s'inspire de C, Smalltalk, Java, Ruby et Haskell, qui va résoudre tous vos problèmes en conservant des performances de brute »
On peut considérer ça comme de l'humour, mais moi qui suis bonne poire, je me suis sérieusement attendu à voir tout ce que vous évoquiez dans ce descriptif, et donc forcément j'ai été un peu déçu.
Je pense qu'il vaut mieux se contenter des quelques points clés de votre langage, sans faire de la surenchère.
Par exemple, ooc est compilé vers du C, ça a l'avantage de vous garantir une bonne compatibilité, et c'est bien d'en parler. Par contre, c'est moins bon pour les performances et/ou l'extensibilité du langage : vous ne pouvez plus utiliser un GC exact, difficile d'optimiser la tail-recursion, etc. Il faut en parler aussi.
PS : moi non plus je ne comprends pas la question sur les "doctorants en sémantique"; il n'y a pas besoin d'être un spécialiste de la théorie pour monter son petit langage.
Ce que sous-entendais peut-être la question, c'est qu'il y a eu beaucoup de recherche sur les langages de programmation depuis l'avènement du C, qui est malheureusement assez soigneusement ignorée par la plupart des langages "modernes" de cette catégorie (D, Go, etc.). C'est vrai que c'est dommage, et ooc ne déroge pas à la règle.
Après, moi je trouve que, dans le cas de ooc, c'est compréhensible et même tout à fait normal. C'est ce que j'appelle le point de vue "langage amateur" : il s'agit de se faire plaisir, de s'intéresser à l'implémentation d'un vrai langage, de réfléchir sur certains points (la syntaxe par exemple), etc. Pas de révolutionner le domaine.
[^] # Re: Un langage amateur sympa, mais qui se prend trop au sérieux
Posté par gasche . En réponse à la dépêche Le langage ooc auto-hébergé - les nouveautés de rock 0.9.0. Évalué à 7.
Le parser est un bon départ : tu pourrais le prendre à l'identique, enlever toutes les productions (garder que la partie "grammaire"), et mettre ça sur le site, ça serait déjà un bon progrès.
Ce que j'ai cherché sur votre site, c'est l'analogue de ce document pour Go : The Go Programming Language Specification.
Dans un deuxième temps, je serais intéressé par un condensé d'informations sur les nouveautés du langage et les choix que vous avez fait. Pour Go, c'est ce document : Language Design FAQ.
J'ai effectivement remarqué le sens de l'humour (entre nous, je me demande si le "THREE FUCKING TIMES" ne risque pas de rebuter certains anglophones, c'est quand même un peu vulgaire), ça a son charme, mais je trouve le texte en page d'accueil trop long et trop verbeux : quand on regarde 5 minutes un nouveau langage, on a besoin de quelque chose de plus dense et informatif. Le "Poignant guide to Ooc", c'est pour dans un second temps.
Par contre, il faut retenir les exemples de code source, c'est une très bonne idée.
Bref, je pense qu'une documentation concise mais précise et complète serait le meilleur moyen, justement, d'éviter les remarques superficielles, en permettant aux gens d'avoir un aperçu en profondeur du langage en un temps raisonnable.
Parce que "prendre la peine de l'essayer", c'est une bonne idée, mais pour pouvoir tout essayer il faut commencer par se renseigner sur tout ce qu'il y a, justement, à essayer; et si on essaie mais passe à côté d'une partie des fonctionnalités, c'est dommage.
Pour revenir au "se prend trop au sérieux" (opposé à l'humeur et la détente dans les docs) : ce que je voulais dire, c'est que quand on va sur le site web, on lit en gros (j'exagère volontairement le trait) « ooc est un roksor langage qui se base sur des techniques ultra-modernes, s'inspire de C, Smalltalk, Java, Ruby et Haskell, qui va résoudre tous vos problèmes en conservant des performances de brute »
On peut considérer ça comme de l'humour, mais moi qui suis bonne poire, je me suis sérieusement attendu à voir tout ce que vous évoquiez dans ce descriptif, et donc forcément j'ai été un peu déçu.
Je pense qu'il vaut mieux se contenter des quelques points clés de votre langage, sans faire de la surenchère.
Par exemple, ooc est compilé vers du C, ça a l'avantage de vous garantir une bonne compatibilité, et c'est bien d'en parler. Par contre, c'est moins bon pour les performances et/ou l'extensibilité du langage : vous ne pouvez plus utiliser un GC exact, difficile d'optimiser la tail-recursion, etc. Il faut en parler aussi.
PS : moi non plus je ne comprends pas la question sur les "doctorants en sémantique"; il n'y a pas besoin d'être un spécialiste de la théorie pour monter son petit langage.
Ce que sous-entendais peut-être la question, c'est qu'il y a eu beaucoup de recherche sur les langages de programmation depuis l'avènement du C, qui est malheureusement assez soigneusement ignorée par la plupart des langages "modernes" de cette catégorie (D, Go, etc.). C'est vrai que c'est dommage, et ooc ne déroge pas à la règle.
Après, moi je trouve que, dans le cas de ooc, c'est compréhensible et même tout à fait normal. C'est ce que j'appelle le point de vue "langage amateur" : il s'agit de se faire plaisir, de s'intéresser à l'implémentation d'un vrai langage, de réfléchir sur certains points (la syntaxe par exemple), etc. Pas de révolutionner le domaine.