Программисты часто обдумывают проблемы с помощью так называемого псевдокода : языка, напоминающего язык программирования, но недостаточно конкретного, чтобы его команды исполнял компьютер. Его можно рассматривать как эскиз. Псевдокод помогает обдумать процесс решения задачи.
В примере, описывающем поведение водителя за рулем, я использовал псевдокод. Если сесть в машину и вслух произнести: «КОГДА я поверну ключ зажигания, ТО двигатель запустится», — ничего не произойдет. Но это не значит, что мое утверждение бессмысленно. Оно представляет собой способ обдумать шаги, необходимые для разрешения проблемы или получения желаемого результата.
Вы можете использовать основные понятия программирования, которые мы только что рассмотрели, для создания набросков программ, позволяющих решить повседневные задачи.
Вот забавный способ проверить это на себе. Попросите приятеля помочь вам решить простейшую задачу под названием «сделать сэндвич». Единственное правило — приятель должен лишь точно выполнять ваши инструкции, не больше и не меньше. Он ничего не знает и все ваши указания воспринимает буквально.
Вы: Возьми хлеб.
Приятель: Я не понимаю, что такое «возьми».
Вы: Протяни руку туда, куда я скажу, и схвати его.
Приятель: Я не понимаю, что такое «рука».
Вы (вздыхая): Вот эта штука. (Вы указываете на руку приятеля.)
Приятель: Понял.
Вы: Протяни руку туда, куда я скажу, и схвати его.
Приятель: Я не понимаю, что такое «схвати».
Вы: Согни пальцы вот так. (Вы демонстрируете, сгибая и разгибая пальцы.)
Приятель: Понял.
Вы: Протяни руку к хлебу и схвати его.
Приятель: Я не понимаю, что такое «хлеб».
Вы: Вот эта штука, вот здесь! (Вы указываете на хлеб.)
Приятель: Понял.
Вы: Протяни руку к хлебу и схвати его.
Приятель: (Протягивает руку к хлебу, сжимает пальцы и разжимает. Хлеб остается на месте.)
Вы: ИДИОТСКАЯ ИГРА!!!
Это глупый пример, но именно так выглядит программирование, особенно в самом начале.
Компьютер, подобно вашему приятелю, не может понять то, что вы в точности не определили. Любой сложный процесс, который вы пытаетесь описать, нуждается в полном и однозначном определении.
Именно в этом и заключается сложность программирования: одна-единственная неточная или ошибочная команда делает всю программу нерабочей. В этом отношении программирование не терпит компромиссов — ваша программа либо корректная, либо некорректная. Точность нужна в каждой детали.
Компьютеру безразлично ваше очарование и чувство юмора. Если программа неполная или плохо написана, то ваше приложение зависнет, и вы потеряете данные. Или вы напишете баг : фрагмент неверного кода, который вызовет неожиданные и непредсказуемые последствия. Тут как в математике — либо работает, либо нет. Никто не поставит вам высокую оценку за усердие.
При всем при том в программировании не существует единственного, универсального решения поставленной задачи — так же как и в математике. Есть тысячи способов получить из ваших входных данных желаемый результат. Программист должен выработать конкретный подход на основании имеющихся в его распоряжении средств.
Привыкнув к тому факту, что компьютер не способен читать ваши мысли, вы постепенно учитесь давать инструкции, которые система может понять — точно так же, как вы учились точно определять термины и описывать простейшие действия приятелю в игре «Сэндвич», прежде чем отдавать сложные команды.
В чем особенность программирования интернет-приложений?
Теперь у нас есть рабочее определение программирования. Оно предельно упрощено, однако позволяет понять, что мы пытаемся сделать.
Как бы то ни было, меня не интересуют все разновидности программирования — я хочу писать программы работы с сайтами. Если вы когда-либо пользовались программами электронной почты, например Gmail, Hotmail, Yahoo Mail или любой другой, то понимаете, о чем идет речь. Эти программы выполняются в вашем интернет-браузере. Чтобы использовать их, не нужно загружать программное обеспечение в компьютер. Вы просто указываете нужный сайт в браузере и регистрируетесь. Можно приступать.
Это очень важное отличие программного обеспечения, которое выполняется локально , от того, что выполняется удаленно на интернет-сервере. Чтобы разработать интернет-приложение, необходимо сначала написать его, а затем протестировать, убедившись в его работоспособности. Весь процесс разработки и тестирования выполняется на вашем компьютере.
Читать дальше
Конец ознакомительного отрывка
Купить книгу