Теперь не то, и нравы смягчились: вас пускают за компьютер, не экзаменуя по теории. Но значит ли это, что теория не нужна? — нет. Однако изучать теорию приятней и полезней на практике: мы будем создавать работающие программы. Много программ. Вижу, как вы прыгнули за компьютер и в нетерпении потираете ладошки. Ой, как я вас понимаю! Но ради будущих успехов потерпите до следующей главы. Сейчас я приоткрою завесу тайны, о которой так загадочно молчат взрослые. Не осознав некоторых вещей, невозможно двигаться дальше.

Миф о думающих машинах

Миф – это красивая выдумка, сказка. Компьютеры породили миф о думающих машинах. Ну как отказать в интеллекте этим чудесным созданиям? Восхищение не искушенного в компьютерах человека понятно, но порой приводит к недоразумениям. Вот слышу в новостях: в таком то аэропорту остановлены полеты из-за сбоя управляющих компьютеров. Вероятно, сами компьютеры здесь ни при чем, – современные машины очень надежны, а в особо важных применениях дублируются. И, хотя сбой компьютерной «железки» не исключен, неполадки в системе управления скорей всего на совести программистов. Как ни сложен компьютер, программы, которые он выполняет, в тысячи раз сложнее, а значит и возможность ошибок в них выше. Уверяю вас: компьютер – это всего лишь примитивный автомат, выполняющий команды, заложенные в него программистами.

К чему я клоню? Замыслив стать профессионалом, отбросьте миф о думающих машинах. Компьютер ни о чем не думает, не мечтает, и не спотыкается. Не пеняйте на него, когда ваши программы «захромают», – ищите ошибки у себя.

Загадочные коды

Вам известно, конечно, что исполняемые программы – это файлы с расширением EXE. Заглянем внутрь такого файла, как он устроен? С этой целью я воспользовался программой, подобной Total Commander. Выбрав один из исполняемых файлов, я нажал клавишу F3 – просмотр файла – и увидел следующую картину (рис. 1).

Рис.1 – «Внутренность» исполняемого файла

Что бы это значило? Я, к примеру, здесь ничего не понимаю! Мы видим код программы, который понимает только процессор компьютера. Вероятно, наши человеческие представления о здравом смысле очень далеки от компьютерных! Откуда взялся этот код? Надо ли программистам разбираться в этой тарабарщине? К счастью, большинству из них этого не требуется, – на выручку приходят языки программирования.

Языки программирования и компиляторы

Разумеется, вы слышали об этих языках, к настоящему времени их насчитывают тысячи. Зачем так много? Причины разные. С одной стороны, это объясняется разнообразием решаемых задач, а с другой – течением времени. Многие ранние языки устарели и отмирают, им на смену приходят новые. Однако все их объединяет одно – языки создавались, чтобы избавить человека от программирования на «тарабарском» языке процессора.

Кстати, знаете ли вы китайский язык? А японский или арабский? Теперь представьте себя президентом, принимающим послов этих стран, как вы будете с ними общаться? Очевидно, пригласите переводчиков. В таком же положении находится и процессор компьютера, знающий только свой «тарабарский» язык, а все прочие понимающий через переводчиков. Переводчики – это специальные программы – компиляторы. Правда, в отличие от людей, способных переводить в обе стороны, компиляторы переводят лишь с «человеческого» языка программирования на «тарабарский» язык процессора.

Рассмотрим рис. 2, где представлена упрощенная схема «перевода» с трех языков программирования: Паскаля, Си и Фортрана.

Рис.2 – Схема применения компиляторов

Что мы видим? Работу над программой начинают с подготовки текстового файла, где на выбранном языке записывают порядок действий для решения поставленной задачи. В текстовом файле можно напечатать что угодно – стихи, роман, или программу. Сохранив файл на диске, вы можете в любой момент вновь открыть его, полюбоваться, отредактировать и снова сохранить. Это ещё не программа, а лишь её текст, заготовка. Такой файл называют исходным текстом или, на жаргоне программистов, – «исходником», «сырцом» (русское слово «сырьё» отчасти созвучно английскому Source – «источник»). Исходные файлы показаны на рисунке слева. Вот пример небольшой программки на языке Паскаль.

Var a, b : integer;

Begin

      Readln(a,b);

      Writeln(’a*b = ’, a*b);

End.

Вы читаете Песни о Паскале
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату