Как создаются языки программирования

Создание языков Java на C #, а также новых языков всегда проходит один и тот же процесс. Но не обязательно самое лучшее.

Первое, что нужно сделать, это определить хорошее имя. Помните цитату Дональда Кнута, автора «Искусства программирования компьютера»:

Самое главное в языке программирования - это название. Язык не будет успешным без хорошего имени. Я недавно нашел очень хорошее имя и теперь ищу язык, который может ему подойти.

Как только у вас есть имя;) соблюдается строгая процедура определения нового языка, всегда...

Рассмотрим следующую организационную схему...

nouveau langage de programmation

Эргономическое исследование заключалось бы в исследовании того, как минимизировать риски ошибок. Пользователей спросили бы, чего они ждут от нового языка и что бы они хотели видеть изменившимся.

Как это происходит на самом деле:

conception d'un langage de programmation conservateur

Вы знаете, что разработчики Go думали, что язык будет использоваться как замена C++ и поэтому предпочли использовать синтаксис, к которому привыкли программисты C++ (не спрашивая их, подходит ли это им). Оказалось, что Go стал в основном заменой Python и поэтому программистам Python приходится использовать синтаксис, знакомый программистам C++. (Ссылка. Роб Пайк). Это показывает границы такого подхода.

Синтаксис языков отчаянно всегда один и тот же с этими кабалистическими символами, которые затрудняют чтение и делают ошибки легкими. Например, точки с запятыми в конце инструкций совершенно бесполезны, но требуются языком.

Почему этот синтаксис? Она была разработана с использованием языка C для экономии ресурсов памяти и сокращения времени обработки в эпоху первых микропроцессоров. Так что новые языки предназначены для компьютеров 70-х годов, что кажется глупым, но это не больше, чем клавиатура Azerty, где клавиши расположены замедлять нажатие клавиш, чтобы пощадить печатные машинки 50-х годов.

Языки JavaScript и Go позволяют удалить точку с запятой. И Джулия подавляет все эти древности. Ты не должен полностью отчаиваться...

Вторая часть: Создание языков: объявление переменной .

Документы