gudleifr » 08 июл 2026, 12:07
clihlt, это все, конечно, правильно, но, если говорить конкретно о написании языка, то различные методы дают разные результаты:
1. При первом методе - быдлокодинге или "плюем и копипастим" - мы создаем очень маленькие языки, которые попадают в руки пользователей задолго до того, как будут осознаны их возможности и ограничения. Метод прокатывает только в очень развитых ОС. Пример такой работы - Nix' с ее бесконечным расширением и улучшением языков текстовой/файловой обработки/сборки.
2. При использовании структурного метода - по Дейкстре, а не по Вирту - новый язык должен быть описан заранее сугубо математически. Там, скорее, речь будет идти о создании новой машины, и само слово "язык" будет лишь ее синонимом. Это совсем не то, что может прийти в голову пользователю третьего поколения.
3. При использовании метода масштабирование - структурного по Вирту - нужно полностью с Вами согласиться. Разбить разрабатываемую компиляцию на все положенные этапы и выдать спецификацию по каждой и долго вылавливать логические противоречия между ними.
4. При использовании Forth-метода, все гораздо проще. Создаваемый язык - а он создается обязательно, в этом и суть метода - есть просто язык нашего решения задачи. Мы тупо записывает то, что уяснили сегодня. Если завтра мы начнем думать иначе, мы просто выкинем вчерашнее и возьмем позавчерашнее. В Forth не нужно следить за правильностью масштабирования, каждый написанный блок значит ровно то, что он значит. Связь межу блоками - не формализованная, а чисто языковая, на уровне обычного человеческого языка.
Последний раз редактировалось
gudleifr 08 июл 2026, 12:23, всего редактировалось 2 раз(а).