Найти тему
1259 подписчиков

Сегодня позволю себе пофилософствовать по поводу языков программирования. Поинтересовался тут, оказывается с момента изобретения ЭВМ было придумано около 8 тысяч языков программирования. Есть языки, которые используются, их обычно ругают и есть языки, которые не используют, о них молчат. Те, которые не используются также делятся на два класса. К первому классу относятся языки, которые когда-то использовались, но теперь они вышли из употребления. Ну вот Алгол, например. Я не слышал, чтобы его сегодня использовали. А когда-то он был очень популярным языком. И есть вторая группа языков. Их называют эзотерическими. Они изначально не предусмотрены для использования. Просто кому-то было интересно создать что-то необычное.


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

А иногда разработчики добавляют свои возможности, а некоторые возможности, описанные изначально, вообще не реализуют. Вот в результате такого и получаются диалекты. Есть, например, FreePascal, а есть PascalABC. А есть и другие диалекты языка Pascal. А у диалектов могут появиться и свои стандарты и тогда они уходит в самостоятельное плавание.

Или вот ещё ситуация. Как известно в языке Си есть макросредства, обрабатываемые препроцессором. Макросредства позволяют создавать добавлять в программу на Си дополнительные элементы. Так, что например, можно определить элементы другого языка программирования, например Pascal. И вот вы пишите программу в которой элементы языка Си перемежаются элементами языка Pascal. И вот вопрос. На каком языке написана программа? И я не знаю ответа на этот вопрос. Этот язык никто не описывал, но вот есть программа, написанная на нём. Используя макросредства можно изменить язык до неузнаваемости, превратив его в нечто другое. И это совсем не диалект.

Есть ещё один интересный вопрос. В стандарт языка, как правило, включают и какие-то библиотеки. Т.е. другими словами, такие библиотеки считаются частью языка. Но вместо них можно использовать другие. Разумно ли в этом случае считать язык другим или диалектом языка?

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


Сегодня позволю себе пофилософствовать по поводу языков программирования. Поинтересовался тут, оказывается с момента изобретения ЭВМ было придумано около 8 тысяч языков программирования.
2 минуты