Найти тему

Чем программирование компьютеров отличается от программирования людей

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

Если, к примеру, вы пригласили в гости знакомого, который раньше у вас никогда не был и не знает, как добраться до вашего дома, то вы говорите ему что-то типа:

  • Едь от супермаркета по трассе до первого поворота направо после светофора.
  • Поворачивай, и дальше едь до первого подъёма.
  • Перед подъёмом поверни налево.
  • Едь прямо до магазина.
  • Поворачивай направо и едь прямо до дома с красной крышей.
  • Напротив этого дома будет мой дом.

Это и есть программа. Так вы запрограммировали своего знакомого. Теперь, выполнив эту программу, он успешно доберётся до вашего дома и вы с ним хорошо попьёте пива или ещё чего.

Компьютерная программа составляется примерно также - она состоит из набора инструкций на каком-либо языке программирования. Однако между компьютером и человеком есть большая разница: человек склонен к творчеству, а компьютер - нет (кто-то возразит и вспомнит про искусственный интеллект, на что я отвечу, что ИИ - это не компьютер, а программа).

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

“Напротив дома будет мой дом”. И что? Что с этим делать? Поджечь этот дом? Сфотографировать? Сверить адрес?

Компьютер не знает. А сам придумать, в отличие от человека, не может. Ему нужны ВСЕ инструкции. От начала и до конца. Только так он сможет дать вам результат, который вы ожидаете.

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

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

Например, ваш знакомый может оказаться дальтоником. И не отличит красную крышу от зелёной. Тогда выполнение программы может затянуться или вообще завершиться неудачей, если он зайдёт в дом не к вам, а к кому-то другому, но там его тоже встретят, накормят и напоят. А может и спать уложат…

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