Comment sont créés les langages de programmation: déclaration de variable

Les langages de programmation aiment se distinguer. Exemple: déclarer simplement une variable.

Dans cette deuxième partie de l'article: Comment sont créés les langages de programmation, on étudie cette fois comment sont déclarées les variables. Il semble que deux lignes ont été suivies, celle de Pascal et celle de C, avec aussi un peu de BASIC.

Langage Pascal (1970): Très formaliste, on estimait que combiner déclaration et initialisation cela fait trop à la fois, sous l'inspiration de Basic (voir plus loin).

var x : Integer;
x:= 10; 

Langage C (1972), C++ (1981), Java (1994), C# (2000): Le plus concis est le mieux, semble-t-on penser si l'on considère le nombre de programmes écrits dans ces langages. Mais sous l'influence de Pascal, (ce que l'auteur affirmera regretter par la suite), il ajoute dans C le point-virgule terminal et sera imité par Java et C#.

int x = 10;

Erlang (1986): La leçon de C est retenue.

int x = 17; 

JavaScript (1995): Comme C mais sans type, et point virgule en option car on ne sait pas trop si c'est bien utile.

var x = 10

OCaml (1996): C a trouvé la formule, gardons là.

int i = 17; 

Scala (2004): Ce serait trop simple, revenons à Pascal mais avec le raccourci de C, int au lieu de Integer et gardons le point virgule.

var x : Int;

Langage Go (2009): On revient aussi à Pascal mais sans point virgule qui ne sert à rien en fait.

var x int = 2

Dart (2011): On ne suit pas Go et on revient à la simplicité de C. Mais retour du point-virgule car ce serait trop facile.

int x = 10;

TypeScript (2012): Pas d'accord pour la simplicité, on revient au Pascal, mais avec un type number comme dans le langage Scriptol (j'aime à le noter)... Et retour du point-virgule.

var x: number = 6;

Dans ce concours d'inutile complication, le vainqueur est en fait le premier.... BASIC (1964).

10 Dim x As Integer  
20 x = 10

A cette époque, on n'envisageait pas de déclarer une variable et de l'assigner en même temps! Mais au moins il n'y a pas de point virgule, car on savait dès le départ que cela ne sert à rien...

Parler comme un codeur

Parler comme un codeur

Ce que l'on peut faire avec les variables, pourquoi ne pas le faire avec les structures de données?

Les auteurs de Go s'y sont employés:

type nom struct {
} 

Cela rappelle fortement la structure record de Pascal:

type nom = record
...
end;

En conclusion, lorsqu'on veut innover en créant un langage de programmation, on abandonne le style de C et on revient à celui de Pascal!!!