
Red est un langage de programmation fortement inspiré de Rebol, mais avec un champ d'utilisation beaucoup plus large grâce à son compilateur de code natif, allant de la programmation système à l'écriture de scripts de haut niveau, tout en fournissant un support moderne pour la concurrence et les CPU multicœurs. Red cherche à rester indépendant de toute autre chaîne d'outils ; il génère son propre code. Il est donc possible de compiler les programmes Red de n'importe quelle plateforme qu'il supporte vers n'importe quelle autre. Et tout cela à partir d'un exécutable binaire qui devrait rester inférieur à un mégaoctet (1 Mo).
Red est un langage de programmation de nouvelle génération, fortement inspiré de REBOL. Ses principales caractéristiques sont les suivantes :
- Syntaxe conviviale
- Homoiconique (Red est son propre méta-langage et son propre format de données)
- Programmation fonctionnelle, impérative, réactive et symbolique
- Prise en charge d'objets basés sur des prototypes
- Multi-typage
- Puissant système de macros de recherche de motifs
- Riche ensemble de types de données intégrés (plus de 50)
- Compilation statique et JIT (Pas encore implémenté) en code natif
- Compilation croisée réalisée correctement
- Produit des exécutables de moins de 1 Mo, sans dépendances
- Prise en charge solide de la concurence et du parallélisme (acteurs, collections parallèles)(Pas encore implémenté)
- Capacités de programmation système de bas niveau grâce au DSL Red/System intégré
- DSL d'analyseur PEG puissant intégré
- Ramasse-miette rapide et compact
- Système d'interface graphique natif multiplateforme, avec un DSL d'agencement d'interface utilisateur et un DSL de dessin
- Passerelle vers la JVM
- Consoles GUI et CLI de script de haut niveau et REPL incluses
- Plugin Visual Studio Code, avec de nombreuses fonctionnalités utiles
- Hautement intégrable
- Faible empreinte mémoire
- Un seul fichier (~1MB) contient l'ensemble de la chaîne d'outils, la bibliothèque standard complète et la REPL (Temporairement divisé en deux binaires)
- Pas d'installation, pas de configuration
- Amusement garanti !
Il a été annoncé et présenté pour la première fois à la conférence ReBorCon 2011 (mars 2011). Une vidéo de présentation plus récente a été donnée à la conférence Recode à Montréal (juillet 2013) :
L'objectif ambitieux de Red est de construire le premier langage Full-Stack au monde, un langage que vous pouvez utiliser depuis les tâches de programmation système jusqu'à l'écriture de scripts de haut niveau grâce aux DSL. Vous avez probablement entendu parler du terme « Full-Stack Developer ». Mais qu'est-ce qu'un langage complet, exactement ?
D'autres langages parlent d'avoir « un outil pour tous les gouverner ». Red a aussi cet état d'esprit, poussé à la limite - c'est un seul exécutable qui prend vos fichiers sources sur n'importe quelle plateforme, et produit un binaire empaqueté pour n'importe quelle plateforme, à partir de n'importe quelle autre. L'outil ne dépend de rien d'autre que de ce qui est fourni avec votre système d'exploitation... il est livré sous la forme d'un seul exécutable d'environ un mégaoctet.
Mais cette prouesse technique ne suffit pas à définir la notion de « langage complet » de Red. Il s'agit de la capacité à plier et à redéfinir le système pour répondre à n'importe quel besoin, tout en continuant à travailler avec un code lettré et en obtenant des performances de haut niveau. Ce qui vous est proposé ressemble donc davantage à un « jeu de construction linguistique » qu'à un simple « langage ». Que vous écriviez un pilote de périphérique, une application GUI native ou une bibliothèque partagée... Red vous permet d'utiliser une syntaxe commune pour coder au niveau d'abstraction approprié à votre tâche.
Source : À propos du langage Red
Et vous ?


Voir aussi :




Vous avez lu gratuitement 12 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.