Искусственный интеллект
Шрифт:
Если у вас математическая фобия, то, вероятно, на этом самом месте вы хотите закрыть книгу. Это нормально. Многие говорят, что каждый должен уметь писать программы, но я так не считаю. Программирование окажется неприятным опытом, если математика – не ваша сильная
А вот средний уровень программирования требует знаний линейной алгебры, геометрии и математического анализа. Хотя большинство людей не чувствуют нехватки знаний, оставаясь на базовом уровне. Программирование может быть как искусством, так и ремеслом. Как ремесло оно помогает учиться и зарабатывать на жизнь. Как искусство программирование требует как ремесленного подхода, так и знания в области высшей математики. В рамках этой книги мы будем считать, что вас интересует именно подход ремесленника.
Обычно способ взаимодействия аппаратного обеспечения и софта описывается техническим языком. Вместо этого воспользуемся метафорой. Разобраться в слоях компьютера – все равно что разобраться в слоях клаб-сэндвича с индейкой (рис. 2.3).
Клаб-сэндвич с индейкой – понятная вещь. Он состоит из множества частей, однако вместе они создают восхитительный вкус. Компьютер работает в определенной логике, подобно тому как ингредиенты сэндвича находятся в определенном порядке.
Слой хлеба – основа сэндвича, в случае компьютера – это железо. Оно «не знает» ничего, разве что то, как справиться с двоичными данными – нулями и единицами. Под справляться я подразумеваю считать. Помните, что вся деятельность компьютеров сводится к математике.
Над аппаратным обеспечением находится слой, который позволяет переводить слова в двоичный код (нули и единицы). Назовем его слоем машинного языка. Это как слой индейки, который укладывается поверх хлеба. Машинный слой обеспечивает перевод символов в двоичный код, при помощи которого компьютер и осуществляет расчеты. Этими символами могут быть слова, цифры – то, что мы, люди, используем для коммуникации друг с другом. Это искусственная система. Чтобы говорить на языке машинных кодов, необходимо владеть особым диалектом – языком ассемблера, который буквально собирает символы в машинный код.
Язык ассемблера сложный. Ниже можно познакомиться с примером того, как на нем выглядит программа десятикратного вывода «Hello, world!». Я нашла этот код на сайте для разработчиков под названием Stack Overflow.
Конец ознакомительного фрагмента.