• [^] # Re: let's go...

    Posté par . En réponse au journal Appel à contribution pour un nouveau langage !. Évalué à 5.

    Je pense qu'on est d'accord, mais qu'on ne met pas la limite au même endroit.

    Par exemple, je considère le C comme étant un langage où le manque d'abstraction rend souvent le code plus difficile à lire : une partie de notre mémoire est utilisé pour se souvenir du rôle de chaque pointeur ou variable d'itération (abstraction dans notre tête à la volée), une autre pour vérifier qu'il n'y a pas d'erreurs de typage (conversions implicites etc.), une autre pour vérifier certaines propriétés (qu'on a pas oublié de free, qu'on n'a pas fait de double free, qu'on a pas fait d'erreurs d'indices, etc.). Au final ça fait beaucoup de choses auxquelles il faut être attentif en plus du cœur de l'idée.

    D'un autre côté, je considère par exemple Rust un peu dans l'autre extrême : trop de concepts (mutation vs immutabilité, temps de vie explicites, macros vs fonctions, généricité un peu partout, itérateurs vs boucles, différents types de chaînes de caractères, etc.) se disputent mon cache (mémoire de travail), ce qui me freine dans ma lecture et ma compréhension.

    Plus on devient adepte du langage, plus les considérations annexes deviennent des réflexes et donc prennent moins de place dans notre mémoire de travail. Mais à un moment on arrive quand même à notre limite, ou du moins notre vitesse de progression devient très lente.