Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Языки программирования.doc
Скачиваний:
31
Добавлен:
24.02.2014
Размер:
95.23 Кб
Скачать

2.2 Машинный код

Самым распространенным способом дрессуры домашних животных является обучение их ограниченному набору команд, например «сидеть», «лежать» и т.д. Центральное устройство в компьютере — процессор — также имеет свой собственный язык. Сделать так, чтобы компьютер стал понимать программиста, весьма сложная задача. Команды для некоторого вымышленного процессора надо как-то закодировать, например представить в числовой форме: 1 может означать сложение, 2— умножение, 3— деление и т.д. Помимо команд процессору предоставляются и данные, необходимые для выполнения тех или иных операций. Тогда программа нахождения среднего арифметического двух чисел расположенных в ячейках 1 и 2, выглядит так:

01 01 01 01 02 01 03 03 01 03 00 03 01 03.

Даже для такой простой программы машинный код представляет собой загадочный шифр. В настоящих, невымышленных, компьютерах машинный код намного сложнее. Программировать на таком коде и проверять программу было очень трудно и неудобно, поскольку для всех операций приходилось либо помнить их коды и форматы, либо постоянно пользоваться специальными таблицами.

2.3. Ассемблер

Программисты искали способы облегчить себе жизнь, создать инструмент, который позволил бы им писать программы, не тратя время на мелкие детали, не отвлекаясь на само кодирование. Они хотели поручить рутинную работу тому, кто умеет выполнять ее лучше всех,— компьютеру.

В 1952г. американка Грейс М. Хоппер создала первый в мире мнемонический (т.е. «удобный для запоминания») язык программирования Ассемблер. Его название происходит от английского слова assemble — «собирать», «компоновать». Он включал в себя мнемоническую систему команд ( список команд), библиотеки процедур и специальную программу для перевода текста программы в машинный код. Такая процедура получения машинного кода называется компиляцией (от англ. сompile — «составлять», «собирать»), а программа, ее осуществляющая, — компилятором, который также придуман Грейс М. Хоппер.

Это был первый шаг — создание языка программирования как специального языка, понятного и человеку, и компьютеру.

Второй шаг — создание библиотеки процедур, т.е. повторное использование кода. До этого, если немного преувеличить, каждому программисту приходилось каждый раз «придумывать» свою алгебру, геометрию, химию, вместо того чтобы воспользоваться готовым учебником. Библиотеки процедур позволили программистам быстрее и качественнее создавать новые сложные программы.

2.4. Fortran

Язык Ассемблер был хорош для программистов, разрабатывающих прикладные программы, операционные системы. Но, несмотря на его мнемотичность, он не подходил для основных пользователей того времени — ученых, проводивших сложные расчеты.

Для решения этой проблемы был предложен язык программирования, для изобретения которого применялся новый способ — создание языка по предварительной спецификации, описанию. Сотрудники фирмы IBM подготовили документы, подробно описывающие новый язык программирования и требования к нему. В отличие от языка Ассемблер, он разрабатывался не на основе машинного кода, не как язык, понятный компьютеру, а язык, удобный для человека.

В 1956 г. группой программистов под руководством Джона Бэкуса был создан первый компилятор для нового, более «человечного» языка программирования. Он получил название FORTRAN (от англ. formula translation — «трансляция», «перевод формул»).

Новый язык программирования стал универсальным, одну и ту же программу можно было запустить на разных компьютерах (естественно, предварительно скомпилировав ее). Он позволял записывать формулы в понятном для человека виде.