Язык машин Печать

Вернуться к оглавлению

Язык машин - средство общения с вычислительными машинами, используемое для формулирования задач в виде алгоритмов программ.
language

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

Наш разговорный язык отличается большой гибкостью, многозначностью слов, образностью, даже некоторой субъективностью. Поэтому словесное описание задач для машины не подходит: оно очень громоздко, неточно и «нестрого».

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

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

Вот как выглядит одна из записей на машинном языке: 0010000001010. Для непосвященного ясно: это какая-то кодированная запись. Но какая? А машина прочитает ее так: «Сложить число из ячейки номер десять в оперативной памяти с числом, стоящим в сумматоре».

Перед нами своеобразное превосходство 0 и 1 над естественным языком: четырнадцать знаков - и целое предложение из четырнадцати слов.

Именно поэтому он удобен для обмена информацией между людьми и машинами, для общения машины с машиной. Машинный язык помогает и при обмене информацией между людьми посредством машин. Он помогает разговаривать машинам с другими системами и системами внутри самой машины.

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

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

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

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

Языки автоматического программирования содержат два типа грамматических форм. Их называют описаниями и процедурами. Описания, в свою очередь, делятся на два типа: описания данных - список составных частей и описания процедур - подпрограммы. Операторы процедур соответствуют предложениям и описывают операции, которые надо произвести с составными частями.

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

Международные организации, связанные с вычислительной техникой. С помощью рабочей группы исправили в языке ошибки, устранили очевидные двусмысленности, внесли большую ясность, короче - усовершенствовали язык, известный теперь под названием АЛГОЛ, что означает «алгоритмический язык».

Перед описанием этого языка стоит эпиграф: «То, что может быть сказано, должно быть сказано ясно, а то, о чем невозможно говорить, о том следует молчать».

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

В АЛГОЛе, как и во всяком языке, есть буквы, цифры, синтаксис, семантика. Есть много и машинного своеобразия. Он близок к привычным математическим формулировкам, удобен для перевода на машинный язык самой машиной. Но к сожалению, он сложен. Помимо машины, его могут понимать только программисты. Они стоят между машинами и задачами как «жрецы-посредники».

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

Важно знать, что языки специализируются по областям применения Например, АЛГОЛ, ФОРТРАН - для вычислительных задач, СИМУЛА для имитационного моделирования, ЛИСП и ПРОЛОГ - для задач искусственного интеллекта.

Язык ЛИСП в некоторых отношениях самый простой. Данные в нем представлены в виде списков, имеется только один вид инструкции. ПРОЛОГ - производный от ЛИСПа. В этом языке не пишут формул, а определяют соотношения между объектами и величинами. Он состоит только из описаний и не имеет инструкций.

Специализируются языки и по функциональной направленности: ФРЛ и КРЛ - для представления знаний, БЕЙСИК для персональных компьютеров.

Разработанный в 1965 году для обучения программированию, БЕЙСИК является упрощенной версией ФОРТРАНа. Название БЕЙСИК состоит из начальных букв английских слов, переводимых как «многоцелевой код символьных команд для начинающих». С широким распространением персональных компьютеров БЕЙСИК стал наиболее известным и популярным в мире машинным языком.

Языки, о которых мы говорим, это алгоритмические языки высокого уровня. Некоторые из них содержат семантические - смысловые элементы, что облегчает обработку программ. Это не просто языки, а целые семейства, в каждом из которых немало им родственных. Например, только в семействе ЛИСП их более сорока: ЛИСП-М, ИНТЕРЛИСП, КУЛИСП и т. д.

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

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

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

- 01111011000111010101 ?... - Запчастей нет!