Par Pascal Pignard2022-07-15 09:17:00
King est le nom d'un nouveau langage de programmation qui fait rare n'est pas dérivé d'un langage basé sur une syntaxe délimitée par des accolades ouvrantes et fermantes ;-) mais proche d'Ada. Il apparaît pour la première fois en octobre 2021 sous la forme d'un manifeste publié sur Github.
En savoir plus -> voir plus.
Pourquoi j'ai tout de suite adoré King :
- les nombres entiers et réels nativement disponibles pouvant être d'étendue non limitée
type Factorial is range <> with Default_Value => 0;
type Rational is digits <> with Default_Value => 0;
- les caractères et les chaines de caractères nativement en Unicode et de taille non limitées pour les chaines
type String is sequence of Unicode;
- les containers vecteur, map, set nativement accessibles très simplement par mots clés
type Stack is sequence of Message;
type Store is map Part_Key => Stock_Info;
type File_Mask is set of File_Mode;
- une syntaxe particulière innovante avec l'identifiant en premier ce qui force la réflexion à en trouver en premier lieu avant de partir sur une déclaration
use King.IO.Text;
Hello_World : procedure body is
Message = "Hello, World!"; -- This is a named string
Hello_World : begin
King.IO.Text.Put_Line (Line => Message); -- Implicitly converted to String
Hello_World : exception
when others =>
raise;
Hello_World : end procedure;
la gestion de la mémoire n'est plus à la charge du programmeur
une programmation modulaire et paramétrable avec des macro-modules
une programmation par contrat
une programmation concurrente
une interface avec le système avec KILLAR ou Ada (!)
et bien d'autres particularités bienvenues mais qui parfois apparaissent contraignantes au premier abord.
En conclusion, King nous emmène vers une nouvelle façon de programmer qui pourrait bien inspirer Ada.
Pour aller plus loin, la syntaxe du langage est en cours de formalisation sur Wikibooks.
Laissez un commentaire
Pour ajouter un commentaire, vous devez être connecté. Se connecter