A découvrir : le langage Ritchie

Par:
fredericmazue

mer, 09/12/2015 - 14:51

Il s'agit d'un nouveau langage open source, en cours de développement, dont le nom est probablement choisi en hommage à Dennis Ritchie, l'un des deux créateurs du langage C avec Ken Thompson dans les laboratoires Bell (Brian Kernighan n'est entré en scène que plus tard).

Ritchie veut avoir une efficacité proche de C à l'exécution. Il utilise les librairies C natives et sa compilation génère du code C facilement compréhensible, nous assurent ses concepteurs sur la page GitHub du projet. Tout ceci avec l'expressivité et la facilité du langage Python, dont il reprend d'ailleurs le principe des indentations.

Il est doté d'un système de types sûr et est capable de faire de l'inférence de types. Il permet la programmation de bas niveau au moyen de code C. Bien sûr les benchmarks avancent des chiffres séduisants, comme tous les benchmarks :-) La question de la performance étant toujours sujette à caution, remarquons plutôt que le compartif met aussi en avant la concision du langage.

Une des originalités de ce langage est qu'il n'a pas de mots réservés, ou mots clés. Ritchie adopte une construction linguistique anglaise : sujet - verbe - complément. Des mots clés tels que if, while ou for sont en fait des verbes, qui pourraient tous être redéfinis.

Le code

hello = "Hello" est parsé ainsi :

Les concepteurs du langage soulignent qu'ici = n'est pas un opérateur d'affectation (ce qui n'existe pas en Ritchie) mais un verbe.

Plus généralement, les verbes en Ritchie sont les constructions appelées fonctions, méthodes ou sous-routines avec les autres langage, est-il précisé.

Voici le code d'une fonction factorielle en Ritchie, tirée de la page du projet.

Integer : factorial Integer n
    result = 1
    i for 1,n+1
        result = result * i
    -> result

print factorial 5

Source : developpez.com http://www.developpez.com/actu/93657/Ritchie-un-nouveau-langage-de-programmation-derive-de-C-qui-veut-combiner-la-facilite-de-Python-et-la-vitesse-de-C/