Найти в Дзене

Чем естественный язык отличается от формального

Внесу ещё немного ясности в терминологию. Сегодня о том, что такое формальный и естественный языки.

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

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

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

Формальные языки обычно имеют строгие синтаксические правила (правила языка), которым безоговорочно подчиняется структура кода. Например, в математике выражение

3 + 2 = 5

имеет правильный синтаксис. А вот

3 + 2 равно 5

имеет НЕправильный синтаксис. Хотя для человеческого (естественного) языка разницы нет, и результат выражения в обоих случаях правильный.

Синтаксические правила бывают двух видов:

  • Относящиеся к токенам
  • Относящиеся к структуре

Токены - это основные элементы языка, такие как слова, числа и другие неделимые элементы. Аналогом токена в естественном языке можно считать слово. То есть человеческий язык состоит из слов, а формальный - из токенов.

В приведённом выше примере слово “равно” является недопустимым в языке формул токеном. Так формулы не записываются. Для того и придуман знак (токен) “=”, чтобы сократить и упростить запись математических формул.

Второй тип правил синтаксиса относится к способу объединения токенов. Например, операция

3 + = 3

недопустима, хотя она состоит из допустимых токенов. Потому что в математике символы + и = нельзя использовать один сразу за другим.

Это х0рошо структуриров@нное пр3длож3ние с недопустимыми т*кенами. Это токены предложение допустимые содержит, но недопустимую структуру все.

Когда вы читаете предложение на естественном языке или утверждение на формальном языке, вы должны понять структуру (хотя на естественном языке вы делаете это подсознательно). Этот процесс называется синтаксическим разбором, или парсингом.

Формальные и естественные языки имеют много общих свойств - токены, лексемы, структура и синтаксис. Однако есть и отличия:

  • Двусмысленность. Естественные языки полны неоднозначности, с которой люди справляются с помощью контекстных подсказок и другой информации. Формальные языки разработаны так, чтобы быть как можно более однозначными. Это означает, что любое утверждение имеет ровно одно значение независимо от контекста.
  • Избыточность. Чтобы компенсировать неоднозначность и уменьшить недопонимание, в естественных языках много избыточности. В итоге они часто многословны. Формальные языки менее избыточны и более конкретны.
  • Буквальность. Естественные языки полны идиом и метафор. Если я скажу: “Белая ворона”, то, вероятно, я имею в виду не белую ворону или другую птицу, а “человека не такого, как все”. Утверждения в формальных языках означают именно то, что они означают. И в формальном языке “белая ворона” - это ворона белого цвета, и ничего более. Более того - в некоторых языках программирования даже регистр символов имеет значение, то есть “Вася” и “вася” - это разные слова (токены) с разным значением.
  • Пунктуация. В естественном языке пунктуация нужна для лучшего понимания текста. Однако без точек, запятых и восклицательных знаков вы всё равно поймёте текст. В формальном языке пропущенная или поставленная не в том месте запятая может привести к катастрофе в буквальном смысле этого слова (сколько уже было аварий, в том числе и с человеческими жертвами, из-за небольших ошибок в программе).

Ну что же. На этом пока всё. Подписывайтесь на канал, чтобы ничего не пропустить.

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
Lingua, language, tongue, язык: что творится с "языками" на разных языках
Был праиндоевропейский корень *dnghu- с таким значением, и из него более или менее логично получилось английское слово "tongue". Ну, [d] оглушилось до [t], дело более чем житейское и естественное. Другие германские языки поют в той же тональности: нидерл. "tong", исл. и шв. "tunga", норв. и датск."tunge". Ну немцы разве что чуть-чуть изощрились - до "Zunge". Пока всё спокойно. Кельты более или менее соответствуют: во всяком случае протокельтское *tangʷāss перешло в ирландское "teanga", валлийское "tafod", бретонское "teod"...
Самый сложный язык на свете
Я вчера вам рассказывал про самый простой язык, а как насчёт самого сложного? По словам его автора, при создании ифкуиля целью было создать такой язык, какой можно создать лишь сознательным усилием — идеальный язык с наивысшими возможными логичностью, эффективностью, точностью, сводя к минимуму двусмысленность, расплывчатость, избыточность и многозначность, которые наполняют естественные языки. А ещё Джон Кихада ставил цель максимально ускорить передачу информации как на письме, так и в устной речи...
Романские языки, о которых вы (не) слышали: часть первая
Если люди примерно представляют себе деление языков на родственные группы, то обычно в числе романских знают итальянский, французский, испанский и португальский. Иногда ещё румынский (и его молдавское альтер эго). И в общем-то всё верно, но только романских языков намного, намного больше. Конечно, многие из них могут считаться диалектами, если рассуждать предвзято. Но в официальной лингвистике они могут называться языками. Все романские языки произошли от латыни - смешавшись с какими-то местными языками или говорами...
Следующая статья
Документы, вакансии и контакты