Выбор языка программирования

Для составления программ используются следующие языки: машинные, машинно-ориентированные и машинно-независимые (алгоритмические языки).

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

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

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

На языке машины программа представляется в виде последовательности команд, каждая из которых записывается в специальной цифровой форме.

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

В каждой команде указывается:

- код операции;

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

Характерные особенности программирования на машинном языке:

- детальное разбиение алгоритма на элементарные шаги;

- предварительное распределение ячеек памяти.

Достоинства: экономичность программ (малый объем памяти, высокое быстродействие и точность).

Недостатки: трудоемкость процесса составления программ, громоздкость текста (записи) программ (т.к. они состоят из элементарных операций машины).

Машинно-ориентированный язык отличается от машинного только тем, что вместо числовых значений, выражающих код операции команды и адреса операндов, используются символические (буквенные обозначения).

Машинная ориентированность означает, что в основе этих языков лежит система команд вычислительной машины.

Примером является язык АССЕМБЛЕР, каждый оператор которого соответствует одной команде компьютера.

Программа на АССЕМБЛЕРе также детализирована, как и при использовании машинного языка. Однако применение АССЕМБЛЕРа имеет ряд преимуществ:

- с символическим языком удобнее работать, чем с цифровыми кодами;

- текст программы, записанный на АССЕМБЛЕРе перерабатывается в программу на машинном языке с помощью транслятора, который обеспечивает распределение ячеек памяти, представление оператора языка в машинном формате и др.

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

Часто сознательно избирают АССЕМБЛЕР, если стремятся наиболее эффективно использовать возможности машины.

Машинно-независимые (алгоритмические)языки высокого уровня ориентированы на особенности задач и не зависят от конкретных компьютеров.

В настоящее время широкое применение находят языки программирования Си++, Паскаль, Бейсик.