King : une nouvelle façon de programmer ?

Par Pascal Pignard

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