Чтение онлайн

на главную

Жанры

Искусственный интеллект
Шрифт:

С помощью этой книги я хочу воодушевить людей. Я хочу, чтобы они поняли принципы работы компьютера и перестали бояться программ. Мы все когда-то были в такой ситуации. Все чувствовали беспомощность и расстраивались перед, казалось бы, простой задачей, которая по факту становится невыполнимой из-за технологического интерфейса. Даже мои студенты, которых порой называют «цифровое поколение», иногда считают, что цифровой мир сбивает с толку, пугает и недостаточно проработан.

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

команды так хорошо, как только может, затем ждет следующую команду. У него нет сознания, нет души.

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

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

2

Hello, world!

Чтобы понять, что компьютеры не могут, прежде необходимо разобраться, как они работают и с какими задачами справляются. Для этого напишем простую компьютерную программу. Начиная изучать новый язык программирования, специалист обычно пишет программу «Hello, world!». Не важно, изучаете ли вы программирование в учебном лагере, в Стэнфорде, в университете или онлайн, – вы, скорее всего, тоже ее напишете. «Hello, world!» – это отсылка к первой программе в легендарной книге Брайана Кернигана и Дениса Ричи «Язык программирования С» [6] (The C Programming Language), где читателю предлагается написать программу (с помощью языка С, разумеется), выводящую на экран эту фразу. Керниган и Ричи работали в лаборатории Bell – исследовательском центре, статус которого в индустрии сравним с Hershey в мире шоколада (AT&T Bell Labs были очень добры, пригласив меня на несколько лет на работу). Именно здесь зарождалось множество инноваций, в том числе лазер, микроволновка и Unix (Ричи помогал и в разработке Unix, и в разработке языка С). Язык назвали С потому, что до этого команда лаборатории уже изобрела язык под названием В. Все еще популярный С++ и его двоюродный брат C# – потомки языка С.

6

Керниган Б. Ритчи Д. Язык программирования С. – М.: Вильямс, 2009.

Я люблю традиции, поэтому давайте поддержим одну из них и напишем «Hello, world!». Пожалуйста, возьмите листок бумаги, ручку и напишите «Hello, world!».

Мои поздравления! Это было просто.

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

Осталось заставить компьютер сделать то же.

Откройте текстовый редактор – это может быть все что угодно: Microsoft Word, Notes, Pages или OpenOffice – и создайте новый документ. В этом документе наберите «Hello, world!». Можете распечатать, если хотите.

Опять мои поздравления! Вы использовали новый инструмент для выполнения той же задачи: намерение, механика и т. д. Вы на волне успеха.

Следующее испытание заключается в том, чтобы заставить компьютер вывести на экран фразу «Hello, world!» немного иным образом. Мы напишем программу, которая сама выведет ее. Для этого мы используем язык программирования Python, установленный на всех компьютерах Mac. (Если вы не используете Mac, то процесс может выглядеть слегка иначе, вам нужно будет найти инструкции в интернете.) Открываем «Приложения» и видим среди прочих программу «Терминал» (см. рис. 2.1). Открываем ее.

И снова примите мои поздравления! Вы только что улучшили свои навыки владения компьютером. Сейчас вы приблизились к компьютерному «железу».

Под «железом» имеется в виду аппаратное обеспечение компьютера: чипы, транзисторы, провода и т. п. Это то, что составляет физический облик компьютера. Запуская систему, вы видите приятный пользовательский интерфейс, который как раз и обеспечивает доступ к железу компьютера. Мы воспользуемся терминалом, чтобы написать программу на языке Python, которая как раз выведет надпись «Hello, world!» на экран.

В терминале вы увидите мигающий курсор. Он показывает командную строку. Компьютер интерпретирует – достаточно буквально – все, что вы в ней напишете. В общем, когда вы нажмете Enter, компьютер попытается выполнить заданную команду. Итак, попробуем написать следующее:

python

Далее вы увидите нечто подобное:

Python 3.5.0 (default, Sep 22 2015, 12:32:59)

[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.72)] on darwin

Type “help,” “copyright,” “credits” or “license” for more information.

>>>

Символ тройной шляпки (>>>) показывает, что вы вошли в режим интерпретации языка Python и одновременно вышли из базового интерпретатора команд. Последний использует особый тип языка программирования, язык оболочки. Соответственно, интерпретатор Python использует язык Python. В программировании, как и в естественных языках, существует множество диалектов.

Напишите следующее и нажмите Enter.

print («Hello, world!»)

Отлично! Вы только что написали компьютерную программу. И как ощущения?

Мы только что сделали одну и ту же вещь тремя разными способами. Один из них, пожалуй, был более приятным, чем прочие. Другой – быстрее и проще. Опираясь на полученный опыт, вы можете решить, какой из способов проще, а какой – быстрее. Однако принципиальный момент заключается в том, что ни один из них не лучше других. Поэтому, когда мы говорим, что делать что-либо при помощи технологий лучше, это сродни утверждению, будто написать «Hello, world!» лучше на языке Python, а не на бумаге. Не существует какой-либо принципиальной ценности в каждом из этих способов, однако их применение зависит от индивидуального опыта и последствий выбора в реальном мире. В случае с фразой «Hello, world!» ставки невысоки.

Большинство программ сложнее нашего примера, однако понимание принципа позволяет масштабировать его и применять в более комплексных случаях. Каждая программа – от сложнейших научных вычислений до новой социальной сети – пишется людьми. И каждый из них начинал программировать с «Hello, world!». Их путь к созданию сложного, изощренного программного обеспечения начинался с программ, построенных из простых блоков вроде нашего «Hello, world!». Компьютерные программы – не магия. Они созданы человеком.

Поделиться:
Популярные книги

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

"Фантастика 2023-123". Компиляция. Книги 1-25

Харников Александр Петрович
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Фантастика 2023-123. Компиляция. Книги 1-25

Утопающий во лжи 3

Жуковский Лев
3. Утопающий во лжи
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Утопающий во лжи 3

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Все не случайно

Юнина Наталья
Любовные романы:
современные любовные романы
7.10
рейтинг книги
Все не случайно

Проиграем?

Юнина Наталья
Любовные романы:
современные любовные романы
6.33
рейтинг книги
Проиграем?

Вечная Война. Книга VII

Винокуров Юрий
7. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
5.75
рейтинг книги
Вечная Война. Книга VII

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Довлатов. Сонный лекарь

Голд Джон
1. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Измена. Я отомщу тебе, предатель

Вин Аманда
1. Измены
Любовные романы:
современные любовные романы
5.75
рейтинг книги
Измена. Я отомщу тебе, предатель

Законы Рода. Том 7

Flow Ascold
7. Граф Берестьев
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Законы Рода. Том 7

Ученик

Губарев Алексей
1. Тай Фун
Фантастика:
фэнтези
5.00
рейтинг книги
Ученик

Тайный наследник для миллиардера

Тоцка Тала
Любовные романы:
современные любовные романы
5.20
рейтинг книги
Тайный наследник для миллиардера