Un nouveau langage


De temps en temps j’aime bien explo­rer quelque chose de nouveau côté program­ma­tion.

J’ai tenté de faire une petite remise à zéro en Javas­cript il y a peu. J’y trouve plein de points posi­tifs objec­tifs mais je ne vois pas la moti­va­tion pour mes projets perso. Je n’ai pas d’atomes crochus avec la syntaxe, le langage lui-même ne m’ap­porte pas suffi­sam­ment de nouveau pour que la décou­verte me motive, et il y a plein de trucs qui me fatiguent dans l’en­vi­ron­ne­ment.

J’ai vu Elm et j’aime bien plusieurs idées mais je cherche quelque chose qui tourne aussi en ligne de commande.

J’ai tenté Crys­tal. Le langage est sympa : inspiré de ruby, infé­rence de types, compilé et perfor­mant, liai­sons simples avec toutes les libs en C. J’ai quelques reproches (genre l’ab­sence d’un type « Nume­ric » qui m’abs­trait des types bas niveau) mais je me suis surtout dit « à quoi bon » quand j’ai eu une excep­tion à l’exé­cu­tion lors de ma première jour­née. À quoi bon s’im­po­ser un typage statique si c’est pour que les problèmes les plus courants soient encore gérés à l’exé­cu­tion sans même un aver­tis­se­ment à la compi­la­tion ?

Dans l’idéal j’ai­me­rais tester un envi­ron­ne­ment où quasi­ment tout est détecté en statique et qui ne soit pas aussi verbeux qu’un Java ou aussi bas niveau qu’un C. Vous avez quelque chose à me conseiller ?


11 réponses à “Un nouveau langage”

  1. Il y a le Haskell qui est un très bon langage compilé statiquement avec aucune exception au runtime mais bon, c’est assez compliqué de s’y mettre.

    Dans le même style (même syntaxe, mêmes garanties…) mais qui compile vers du JavaScript il y a PureScript. Du coup c’est utilisable en ligne de commande et en web.

  2. « un environnement où quasiment tout est détecté en statique et qui ne soit pas aussi verbeux qu’un Java ou aussi bas niveau qu’un C »
    Python 3 ?
    – plusieurs frameworks web disponibles, dont Django
    – pas de typage, des modules et objets à multi-héritage
    – structures natives de dictionnaires, listes, ensembles
    – syntaxe épurée au point de l’indentation sémantique
    – très haut niveau tout en ayant de nombreux bindings C
    (pour des traitements OpenGL, audio, vidéo, etc.)

    • Euh, python côté analyse statique à ma connaissance c’est franchement mauvais, non ?

      Me retrouver avec un nul à la place d’un objet par exemple, c’est détecté par quoi ?

    • « python côté analyse statique à ma connaissance c’est franchement mauvais »
      Au temps pour moi, si tel est le cas,
      je n’étais pas au fait de cet aspect du langage.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.