Найти тему
Трудный русский

Чем похожи естественные языки и языки программирования?

Когда я училась в университете, одна моя знакомая говорила, что лингвистика очень похожа на математику. «Как можно их сравнивать?» – думала я. А потом все шире стали распространяться математические науки – информатика и программирование, которые действительно оказались очень близки лингвистике. У них там даже есть собственные языки – языки программирования.

А с чего это они вдруг называются языками? Какое право они на это имеют? И вообще, когда, в какой стране появился этот термин – язык программирования? Что у языков программирования имеется сходного с природными человеческими языками?

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

А теперь подумаем, подходит ли слово «язык» для названия объектов, обозначаемых термином «языки программирования»?

Уточним, что это такое. В Википедии дана следующая трактовка:

Язык программирования — формальный язык, предназначенный для записи компьютерных программ.

Сами программы, если кто не знает, – это последовательность команд, которые должен выполнить компьютер при определенных условиях.

Странное определение: язык – это язык. Но понятно, что на языках программирования пишут программы для компьютеров.

Зайдем-ка мы с другого боку. А что такое вообще язык – наш, человеческий?

Язык — орудие, средство общения. Это система знаков, средств и правил говорения, общая для всех членов данного общества. Речь — проявление и функционирование языка, сам процесс общения; она единична для каждого носителя языка.

Сходства

  1. Кто и с кем общается? На естественном языке человек и человек, на языке программирования человек и компьютер.
  2. Является ли язык программирования системой знаков, средств и правил? Конечно, является. В языках программирования, подобно естественным языкам, имеются собственные лексика, синтаксис и семантика.
  3. Естественные языки реализуются в речи, языки программирования – в компьютерных программах.

Как видите, сходство есть. А какие имеются отличия?

Отличия

  1. Человек воспринимает чью-то речь своим сознанием, понимает ее и реагирует на нее по-разному. Компьютер воспринимает программу, преобразованную в машинный код, только как руководство к действию.
  2. Естественные языки несравнимо сложнее любых языков программирования.
  3. Для правильного восприятия человеческих языков важен контекст – исторический, социальный и пр. Одни и те же слова в одних обстоятельствах могут быть поняты так, а в других иначе. Язык программирования всегда однозначен и неясности толкования не терпит. Он служит для того, чтобы четко описывать алгоритм (последовательность действий), и любая компьютерная программа – это по сути расширенная математическая формула.
  4. Человеческие языки, помимо передачи информации, служат еще и для выражения эмоций. Компьютеров это, понятно, не касается.

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

Ну а в Википедии вместо «формальный язык» я бы написала «формальная знаковая система».

Похожие статьи:

Отличите ли вы голосового робота от человека?

Почему при машинном переводе бывают ошибки

Три популярных шифра

Другие статьи канала

#лингвистика #программирование