Я рассказала эту историю, потому что необходимо понимать, что компьютер – это объект, который может быть собран и собирается человеком. Нередко студенты, которых я вижу на компьютерных курсах для журналистов, оказываются смущены. Они переживают, что могут сломать компьютер или совершить какую-то катастрофическую оплошность. «Вы можете сломать компьютер только при помощи молотка», – говорю я им. И поначалу они не верят мне, но к концу семестра чувствуют себя более уверенно. И, даже если делают что-то не так, они понимают, что смогут это исправить. Эта уверенность – ключ к технологической грамотности.
Но вы не на моем курсе, так что я не могу просто дать вам компьютер. Но рекомендую разобрать старый. Наверняка у вас такой где-то лежит; также старый ненужный компьютер можно найти в комиссионках, они недорогие. Либо спросите на работе: обычно у системных администраторов найдется что-то подходящее, нечто, что они используют для украшения или просто не отдали на переработку. Для этой задачи лучше всего подходит настольный компьютер.
Разберем его на части. Вам понадобится маленькая отвертка, если вы собираетесь разбирать ноутбук. Внутренности настольного компьютера, скорее всего, выглядят как на рис. 2.2.
Посмотрите на детали, как они соединены. Проследите за проводами (порты USB, аудио-, видеопорты и т. д.) и посмотрите, куда они подключены. Прикоснитесь к прямоугольным деталям, похоже, намертво скрепленным с платой. Найдите процессорные микросхемы – на них наверняка написано Intel – это ключевой элемент всей затеи. Найдите разъем, соединяющий всю эту конструкцию с монитором. Скорее всего, к нему подключен чрезвычайно прочный, гибкий и пластичный шлейф проводов. Он передает информацию об изображении на монитор, который затем отображает картинку, закодированную в сигнале.
Вы печатали на клавиатуре, чтобы написать программу на Python. Эта информация передалась в нутро компьютера посредством клавиатуры, потом была интерпретирована системой. Затем компьютер выдал инструкцию к следующей части механизма – монитору, чтобы тот вывел на экран «Hello, world!». Благодаря простым инструкциям этот цикл повторяется снова и снова.
Разбирать компьютер с детьми – весело. Когда мой сын учился в начальной школе, я однажды разобрала вместе с ним ноутбук. Я собиралась отдать пару ноутбуков на переработку и, прежде чем избавиться от них, хотела разбить жесткие диски молотком. (Я обнаружила, что в каком-то смысле такое уничтожение жестких дисков приносит большее удовлетворение, чем просто стирание данных.) Тогда я спросила сына, не хочет ли он помочь мне и вытащить жесткий диск. «Ты шутишь? Я хочу разобрать всю эту штуку на части», – ответил он, и следующие два часа мы провели на кухне, разбирая два компьютера.
В рамках моего курса в университете мы сначала играем с жесткими дисками и уже потом переходим к обсуждению программного обеспечения (ПО) и «Hello, world!» в том числе. ПО – это все, что взаимодействует с аппаратным обеспечением. С его помощью вы добиваетесь от компьютера выполнения написанных вами на клавиатуре инструкций. Это то, что обеспечивает работу программы «Hello, world!». К слову, текст, который вы набираете, также превращается в инструкции, которые компьютер исполняет. Железо – это физическая часть компьютера, софт – все остальное. Таким образом, компьютерное программирование и написание ПО чаще всего означают одни и те же вещи.
Не буду вас обманывать: программирование – это математика. И если кто-то пытается убедить вас в обратном, что, мол, без математики можно научиться программировать, то, скорее всего, вам пытаются что-то продать.
Хорошая новость заключается в том, что для начального уровня программирования понадобится математика уровня 4‒5 класса школы. Вам нужно разбираться в таких операциях, как сложение, вычитание, умножение, деление, и понимать, что такое проценты и остаток. Кроме того, понадобятся базовые знания геометрии, а именно представления о площади, периметре, радиусе и окружности. Также стоит вспомнить о графиках и о координатах х, y, z . Наконец, вам понадобится базовое понимание функций – тех, что мы используем, чтобы превратить 2 в 22.
Если у вас математическая фобия, то, вероятно, на этом самом месте вы хотите закрыть книгу. Это нормально. Многие говорят, что каждый должен уметь писать программы, но я так не считаю. Программирование окажется неприятным опытом, если математика – не ваша сильная сторона. Однако если вы уверены, что способны пересчитать чек в ресторане, или справляетесь с ежедневными задачами вроде измерения ковра, который планируете положить в гостиной, то определенно вы справитесь.
Читать дальше