Le langage RED est-il une substitution viable pour tous les langages informatiques existant ?

Camille Moriot
4 min readMay 13, 2018

--

Un langage « full stack »…

Le langage Red est très récent. Il est né en 2011 seulement. Et pour cause, RED a été crée en réponse à un challenge qui se pose aujourd’hui dans le domaine de la programmation : utiliser un seul et même langage pour tout programmer. En effet, RED est ce qu’on pourrait qualifier comme un langage « full stack ». Cet adjectif est attribué aux langages utilisés aussi bien dans les couches basses de la programmation comme pour les Os, les drivers, etc., mais aussi pour les couches hautes. En bref, RED peut être utilisé pour toutes nécessités de programmation. Il s’agirait du premier langage de programmation à ressoudre ce défi.

https://www.red-lang.org/

Le pari de Nenad Rakocevic est particulièrement compliqué. En effet, les langages des couches hautes et basses ont plutôt tendance à être à l’opposé les uns des autres. Par exemple, si les langages des couches basses doivent être parfaitement structuré, les langages des couches hautes doivent eux à l’inverse être le plus souple possible.

…divisé en deux sous langages

La solution choisie par le créateur a donc été de décomposer le langage Red en deux sous-langages différents : RED et RED/System.

Si Red reproduit la flexibilité du langage REBOL, Red / System, couvre les besoins plus fondamentaux de la programmation comme le langage C.

https://static.red-lang.org/red-rebor2011.pdf

Le langage REBOL est un langage qui date de la fin des années 90 et qui n’est plus développé depuis quelques années. La particularité et l’originalité de ce langage étaient l’usage de dialecte. Le langage était découpé en différents sous-ensembles de langue, chacune étant adapté à une fonctionnalité particulière : la définition de fonction, la manipulation de données, etc. Cette sous-division comporte de nombreux avantages : le langage utilisé pour la tâche précise est très optimisé et très compact, seulement quelques kbits pour réaliser une application.

Facile d’utilisation

Le créateur de Red a voulu développer un langage ouvert à tous et facile d’utilisation. C’était l’un de ses premiers objectifs annoncés. Voyons un peu à quoi ressemble le langage Red en commençant avec quelques exemples de syntaxe de RED.

Tous les programmes écrits en RED commencent par : Red [].

Entre les deux crochets peuvent être inséré : le nom de l’auteur du programme, le nom du programme, la version, un résumé de ce que fait le programme…Globalement, toutes les informations utiles concernant le programme. L’entête d’un programme Red/System est exactement identique, il suffit juste de remplacer Red par Red/System.

Maintenant, voyons quelques lignes basiques de codes.

print “Hello Red World” ; permet d’afficher à l’écran

my-name: “Red” ; déclaration de variable

type? my-integer ; pour trouver le type d’une variable

Calculs :

1 / 2 ; result 0 (0.5, but truncated towards 0)

3 = 2 ; result false

3 != 2 ; result true

3 > 2 ; result true

2 >= 2 ; result true

Boucle if:

msg: either a > 0 [ “positive”

][

either a = 0 [ “zero”

][ “negative”]

]

print [“a is “ msg lf]

Déclaration de fonctions :

twice: function [a [integer!] /one return: [integer!]][

c: 2

a: a * c

either one [a + 1][a]

]

b: 3

print twice b ; will output 6.

Lorsqu’on le voit ainsi, le langage red paraît vraiment facile d’utilisation.

Mais de plus il est très adaptable car il emprunte une autre particularité à son prédécesseur Rebol : l’homoiconicité. Un langage homoiconicite est un langage qui a la capacité de manipuler le code lui-même comme un objet primitif du langage. Les langages homoiconiques ont l’avantage de faciliter le meta-programming puisque leur code est une structure pouvant se modifier aisément.

En conclusion, le créateur de Red s’est quasiment totalement basé sur le langage Rebol et a voulu l’améliorer en le rendant plus ouvert, universel et performant.

Et aujourd’hui ? Qu’en est-il de ce langage ?

Red reste encore un langage peu connu et peu utilisé. Seulement une petite communauté contribue au développement de ce langage. En effet, on peut se demander si le pari de Nenad Rakocevic n’est pas trop ambitieux. Nous avons déjà vu qu’il a fallu décomposer le langage Red en deux sous-langages afin de pouvoir s’adapter à toutes les contraintes définies par les différentes couches. Cependant, Nenad Rakocevic continue à faire parler de son langage et tente de rassembler le maximum de programmeur dans sa communauté afin d’atteindre les objectifs de ce projet.

Pour plus d’information :

Le site officiel :

Apprendre Red :

Apprendre Red/System :

--

--