В чем отличие языка программирования от естественных языков (таких, как русский, английский, японский)?

Ответить
Ответить
Комментировать
0
Подписаться
1
3 ответа
Поделиться

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

2
0

Признаться в любви на них будет сложновато.

Ну, почему же, вот псевдокод:

echo "I love you"

0
Ответить

Признанием тут служит фраза на естественном языке, echo просто выведет его на экран) 

В качестве метафоры любви, как мне кажется, мы могли бы взять какой нибудь хаотичный перебор массива со сложностью o(log n) совершенно не эффективный и генерирующий кучу утечек памяти и не нужных операций, но доводящий этот перебор до конца.  Таким образом мы как бы намекаем на готовность к не логичным действиям ради сомнительной цели)

0
Ответить

Мне кажется, вы чрезмерно усложняете. Что признание просто выдаст фразу, пусть и эмоционально окрашенную, но ничего не говорящую об истинном состоянии произносящего её, что компьютер напечатает ту же фразу.

0
Ответить
Ещё 1 комментарий

Я описал свое видение решение задачи выражения чувств средствами машинного языка. Если задача позволяет использовать естественный язык, то использование компьютера тут в принципе излишне. Можно просто сказать)

0
Ответить
Прокомментировать

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

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

  1. Программист ставит перед сном два стакана: один с водой, другой пустой. Его спрашивают, зачем два, а он отвечает:
    -- Один - если захочу пить, а второй - если не захочу.

  2. Жена посылает программиста в магазин:
    -- Дорогой, купи, пожалуйста, палку колбасы, и если будут яйца, то купи десяток.
    Через полчаса программист возвращается с десятью палками колбасы.
    Жена:
    -- Что это?! Зачем ты купил столько колбасы?
    Программист:
    - Ну так яйца-то были...

2
-1
Прокомментировать

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

В целом же, формальные и естественные языки имеют много общего.

0
0
Прокомментировать
Ответить
Читайте также на Яндекс.Кью
Читайте также на Яндекс.Кью