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