Когда я училась в университете, одна моя знакомая говорила, что лингвистика очень похожа на математику. «Как можно их сравнивать?» – думала я. А потом все шире стали распространяться математические науки – информатика и программирование, которые действительно оказались очень близки лингвистике. У них там даже есть собственные языки – языки программирования.
А с чего это они вдруг называются языками? Какое право они на это имеют? И вообще, когда, в какой стране появился этот термин – язык программирования? Что у языков программирования имеется сходного с природными человеческими языками?
Когда и где появился термин «языки программирования», мне выяснить не удалось. Никакой информации об этом в Интернете нет. Везде говорят о них, как о чем-то само собой разумеющемся. Рассказывают, когда появились первые языки программирования, когда появились прообразы языков программирования, но я об этом не буду. Когда же возник сам термин, какие-либо сведения отсутствуют. Кто его придумал, кто его первый употребил? Тайна, покрытая мраком.
А теперь подумаем, подходит ли слово «язык» для названия объектов, обозначаемых термином «языки программирования»?
Уточним, что это такое. В Википедии дана следующая трактовка:
Язык программирования — формальный язык, предназначенный для записи компьютерных программ.
Сами программы, если кто не знает, – это последовательность команд, которые должен выполнить компьютер при определенных условиях.
Странное определение: язык – это язык. Но понятно, что на языках программирования пишут программы для компьютеров.
Зайдем-ка мы с другого боку. А что такое вообще язык – наш, человеческий?
Язык — орудие, средство общения. Это система знаков, средств и правил говорения, общая для всех членов данного общества. Речь — проявление и функционирование языка, сам процесс общения; она единична для каждого носителя языка.
Сходства
- Кто и с кем общается? На естественном языке — человек и человек, на языке программирования — человек и компьютер.
- Является ли язык программирования системой знаков, средств и правил? Конечно, является. В языках программирования, подобно естественным языкам, имеются собственные лексика, синтаксис и семантика.
- Естественные языки реализуются в речи, языки программирования – в компьютерных программах.
Как видите, сходство есть. А какие имеются отличия?
Отличия
- Человек воспринимает чью-то речь своим сознанием, понимает ее и реагирует на нее по-разному. Компьютер воспринимает программу, преобразованную в машинный код, только как руководство к действию.
- Естественные языки несравнимо сложнее любых языков программирования.
- Для правильного восприятия человеческих языков важен контекст – исторический, социальный и пр. Одни и те же слова в одних обстоятельствах могут быть поняты так, а в других иначе. Язык программирования всегда однозначен и неясности толкования не терпит. Он служит для того, чтобы четко описывать алгоритм (последовательность действий), и любая компьютерная программа – это по сути расширенная математическая формула.
- Человеческие языки, помимо передачи информации, служат еще и для выражения эмоций. Компьютеров это, понятно, не касается.
Различий между естественными языками и языками программирования, как видите, больше, чем сходства. Тем не менее термин «языки программирования» уже никуда не денется.
Ну а в Википедии вместо «формальный язык» я бы написала «формальная знаковая система».
Похожие статьи:
Отличите ли вы голосового робота от человека?
Почему при машинном переводе бывают ошибки
#лингвистика #программирование