lankastersky: (Default)
[personal profile] lankastersky
Попалась на глаза довольно старая статья Пола Грэма "Языки программирования через сто лет". Как пишет сам автор, "Конечно, уже в самой постановке вопроса о том, какими станут языки программирования через сто лет, есть немалое допущение. А будут ли тогда вообще писать программы? Может быть, мы просто будем говорить компьютерам прямым текстом, чего от них хотим?"

Мне, как программисту и пользователю, безусловно, нравится последний вариант: научить компьютер понимать язык человека. Обычно это подразумевает создание искусственного интеллекта, достаточно мощного, чтобы найти общий язык с людьми. На самом деле, эту задачу можно решить двумя способами: научить компьютер понимать естественный человеческий язык либо обучить человека логически, формально мыслить;) Думаю, каждый из этих вариантов имеет право на существование:

1. С одной стороны, естественный язык основан на абстрактном мышлении, опыт использования в программировании которого уже есть - та же объектно-ориентированная парадигма. Принципиальная разница между человеком и машиной состоит в том, что для компьютера абстрактный код - это только верхний слой алгоритма, внизу которого лежат строгие дискретные инструкции, нолики и единицы. В человеческом же мозге абстракции формируются на уровне "машинных команд", сигналов нейронов, которые по своей природе недискретны. Тут опять программирование имеет возможные пути решения: нейронные сети как модели биологических систем и нечеткая логика. Таким образом, остается надежда, что при должном развитии парадигм программирования и моделирования рано или поздно получится создавать настоящий код на том же уровне абстракций, который использует для мышления и обычный человек.

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

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

Date: 2010-09-28 06:52 pm (UTC)
From: [identity profile] vedmitriev.livejournal.com
"В конечном счете, в нашей голове хранятся не слова и тексты, а ... образы... И если мы хотим создать действительно полноценный человеко-машинный интерфейс, надо научить машину понимать их как можно ближе к источнику их возникновения, возможно, полностью минуя языковые конструкции. Но думаю, это будет уже совсем другое программирование."

Так все и будет - http://vedmitriev.livejournal.com/1582.html. Но не через сто лет, а гораздо, гораздо позже.

Date: 2010-09-28 07:22 pm (UTC)
From: [identity profile] lankastersky.livejournal.com
Роберт Монро тоже описывал, как в астральных путешествиях обменивался мыслепакетами с другими сущностями. Возможно, это еще одно энергетическое поле - что ж, подождем, пока физики и нейробиологи до этого доберутся))

Date: 2010-09-29 10:39 am (UTC)
From: [identity profile] vedmitriev.livejournal.com
И бог заплакал :-)

Profile

lankastersky: (Default)
lankastersky

January 2021

S M T W T F S
      12
3456789
10111213141516
171819 20212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 26th, 2026 09:55 am
Powered by Dreamwidth Studios