Что такое программа
Lazarus IDE: Основы программирования в Windows
Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее... |
Что такое программа, я подробно описал в книге Как стать программистом. Но если вы её не читали, то повторюсь.
Что такое компьютер, большинство людей сегодня более или менее представляют. Правда, многие пользователи не понимают разницы между системным блоком и монитором, но это уже «мелочи». Если вы относите себя именно к таким пользователям, то советую ознакомиться с книгой Чайникам о компьютерах.
Что такое программа?
С этим вопросом сложнее. Большинство пользователей думают, что программа – это такое окошко с разными кнопочками на экране монитора. Если по этим кнопочкам щелкать мышкой, то будут происходить какие-то события. Оставим пользователям право так думать, а сами попробуем разобраться с понятием «программа». Попытаемся сделать это на «бытовом» уровне.
Допустим, вы хотите отправить жену (брата, сестру и т.п.) в магазин за молоком. При этом вы даете ей какие-то инструкции. Эти инструкции можно записать на листе бумаги и вручить его жене. Тогда жена будет в роли компьютера, листочек с инструкциями – программой, а вы – в роли программиста (чаще бывает наоборот, но вопросы социологии нас в данном случае не интересуют). А программа получится примерно такой, как показано на рис. 4.1.
Рис. 4.1. Алгоритм программы покупки молока (вариант 1).
Это пример плохой программы, потому что мы не учли множество факторов. Например, мы не поинтересовались, лето на улице, или зима. И может случиться так, что мы выгоним жену на мороз в халатике и тапочках, в результате чего программа не будет выполнена по причине попадания жены в больницу с обморожениями (в лучшем случае).
Пример более хорошей программы приведен на рис. 4.2. Но и эта программа не идеальна, так как женщине недостаточно знать, зима у нас на дворе, или лето. Ей еще нужно выяснить, что ей надеть, как она выглядит, какую косметику использовать. К счастью, компьютеры не так капризны, как женщины, поэтому программировать их гораздо проще.
А теперь вернемся к нашим баранам, то есть компьютерам. Компьютеры программируют примерно по такой же схеме – пишут на специальном языке инструкции, которые компьютер выполняет. Языков программирования великое множество, пока не будем на них останавливаться.
Рис. 4.2. Алгоритм программы покупки молока (вариант 2).
Все это кажется достаточно простым, но…
…однажды мой приятель застал меня за актом программирования и спросил, чем я занимаюсь. Я ответил, что пишу программу. На что он с удивлением сказал: «Так это что, только печатать текст и все? А я-то думал…». Вот и попробуй после этого объяснить народу, почему программисты – одни из самых высокооплачиваемых специалистов в области информационных технологий…
На самом деле разработка серьёзных программ требует высочайшей квалификации. Без очень весомых теоретических знаний и многолетнего практического опыта ничего путного не напишешь.
Какие же выводы можно сделать из вышесказанного? Компьютер без программ – простая малополезная железка. Программа без компьютера – всего лишь набор инструкций. И если эти инструкции некому будет выполнять, то толку от программы будет мало.
Задача программиста – написать программу (составить набор команд (инструкций) для компьютера), которая будет заставлять компьютер выполнять нужные пользователю действия. Например, проигрывать его любимый музыкальный альбом в определенной последовательности. Здесь следует отметить, что программы пишутся не только для компьютеров. Некоторые примеры программ для систем управления рассмотрены в книге Как стать программистом.
Домашнее задание:
Потренируйтесь составлять простые алгоритмы. Например, составьте алгоритм похода в школу или ВУЗ. Поверьте - это важно. Умение составлять алгоритмы отличает программиста от “кодера”, то есть от человека, который пишет программы по заданным алгоритмам.