Как создаются языки программирования: объявление переменной
Языки программирования любят выделяться. Пример: просто объявить переменную.
В этой второй части статьи: Как создаются языки программирования, на этот раз изучается, как объявляются переменные. Похоже, две строчки, Паскаль и С, также с небольшим 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
Тогда объявлять переменную и присваивать ее одновременно не планировали! Но по крайней мере нет запятой, потому что мы с самого начала знали, что это бесполезно...
Говорить как кодер
Что можно сделать с переменными, почему бы не сделать это со структурами данных?
Над этим трудились авторы Go:
type nom struct { }
Это сильно напоминает рекордную структуру Паскаля:
type nom = record ... end;
В заключение, когда ты хочешь инновировать, создавая язык программирования, ты отказываешься от стиля C и возвращаешься к стилю Паскаля!!!