Как создаются языки программирования: объявление переменной

Языки программирования любят выделяться. Пример: просто объявить переменную.

В этой второй части статьи: Как создаются языки программирования, на этот раз изучается, как объявляются переменные. Похоже, две строчки, Паскаль и С, также с небольшим BASIC.

Langue Pascal (1970): Очень формалистично, считалось, что сочетание объявления и инициализации делает это слишком много одновременно, под вдохновением Basic (см. ниже).

var x : Integer;
x:= 10; 

Langue C (1972), C++ (1981), Java (1994), C # (2000): Чем лаконичнее, тем лучше, кажется, думать, если учесть количество программ, написанных на этих языках. Но под влиянием Паскаля (о чем автор впоследствии скажет, что сожалеет) он добавляет в C терминальную точку с запятой и будет имитироваться Java и C #.

int x = 10;

Эрланг (1986): Урок С сохранен.

int x = 17; 

JavaScript (1995): Как C, но без типа, и точка запятой в качестве опции, потому что мы не слишком знаем, полезно ли это.

var x = 10

OCaml (1996): C нашел формулу, давай останемся там .

int i = 17; 

Scala (2004): Это было бы слишком просто, давайте вернемся к Паскалю, но с укорочением C, int вместо Integer и сохраним точку с запятой .

var x : Int;

Язык Go (2009): Мы также возвращаемся к Паскалю, но без запятой, которая на самом деле бесполезна .

var x int = 2

Dart (2011): Мы не следуем за Go и возвращаемся к простоте С. Но вернуться к точке с запятой, потому что это было бы слишком легко .

int x = 10;

TypeScript (2012): Не согласен на простоту, мы возвращаемся к Паскалю, но с типом номера, как на языке Script (мне нравится это замечать)... И обратно с запятой.

var x: number = 6;

В этом конкурсе ненужных сложностей победитель фактически первый.... БАЗИК (1964).

10 Dim x As Integer  
20 x = 10

Тогда объявлять переменную и присваивать ее одновременно не планировали! Но по крайней мере нет запятой, потому что мы с самого начала знали, что это бесполезно...

Parler comme un codeur

Говорить как кодер

Что можно сделать с переменными, почему бы не сделать это со структурами данных?

Над этим трудились авторы Go:

type nom struct {
} 

Это сильно напоминает рекордную структуру Паскаля:

type nom = record
...
end;

В заключение, когда ты хочешь инновировать, создавая язык программирования, ты отказываешься от стиля C и возвращаешься к стилю Паскаля!!!