• [^] # Re: Aucun intérêt

    Posté par . En réponse au lien Drew DeVault dévoile le langage de programmation Hare. Évalué à 5. Dernière modification le 26 avril 2022 à 17:44.

    Si tu vas par là, est-ce par principe un nouveau langage de programmation n'a pas de très fortes chances d'être inutile?

    Bien sûr, dans le détail, tu peux toujours imaginer des langages expérimentaux qui implémentent des concepts nouveaux, ou des langages spécialisés qui répondent à un besoin récent (par exemple, machine learning...).

    Par contre, d'une manière générale, lancer en 2022 un langage qui est plus mieux que les autres et qui reprend les concepts de A, B, et C, avec une syntaxe simplifiée, ça me semble très probablement fumeux. Parce que même dans l'hypothèse où le langage est bien fait, il part avec tellement de retard que de manière complètement pragmatique, c'est très risqué de partir sur cette piste : difficile de trouver des contributeurs et des développeurs, support et portabilité du compilateur aléatoire, bibliothèques faméliques, bugguées, non optimisées... Et un risque certain d'un arrêt du support d'ici quelques années.

    Après, c'est toujours pareil, qui ne tente rien n'a rien. Mais franchement, si on veut faire quelque chose d'utile pour la communauté, il y a peut-être mieux à faire que de créer un nouveau langage de programmation.

    En tout cas, je ne me lasserai jamais des ridiculités cosmétiques qui accompagnent tout projet de nouveau langage. Genre, regardez, il existait #include, using(), library(), module(), package(), \usepackage(), et bah mon nouveau langage c'est use:: pour inclure une bibliothèque. Et puis pour définir une fonction, c'est pas def truc:, ni sub truc { }, ni func truc() { }, ni int truc() { }, c'est fn truc() = { }.

    J'ai parcouru vite fait le tutoriel, je trouve ça très peu lisible en fait et presque charabiesque, pas très convaincu. Je trouve en particulier l'initialisation des structures particulièrement "élégante":

    let c: struct {x: int,y: int,} = struct {x: int = 10,y: int = 20,};

    Il n'y a aucun doute, une telle ergonomie ne peut venir que des progrès récents en psychologie des interfaces humain/ordinateur. Inégalé dans d'autres langages, ça valait le coup d'attendre 2022 pour avoir ça. (j'espère que vous avez noté la position des virgules, la perfection jusque dans les détails. J'ose imaginer qu'elles sont facultatives, mais je n'en sais rien).