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

Машинно-ориентированные языки

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

• высокое качество создаваемых программ (компактность и скорость выполнения);

• возможность использования конкретных аппаратных ресурсов;

• предсказуемость объектного кода и заказов памяти;

• для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;

• трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;

• низкая скорость программирования;

• невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.

По степени автоматического программирования машинно-ориентированные языки подразделяются на классы:

• машинный язык (МЯ) — командный язык. В команде сообщается информация о местонахождении операторов и типе выполняемой операции;

• языки символического кодирования (ЯСК) — командные языки, в которых коды операций и адреса в машинных командах (в двоичных или восьмеричных цифрах) заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции;

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

• ассемблеры — развитые автокоды, символическое представление машинного языка;

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

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

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

ü Фортран, Алгол — языки, созданные для решения математических задач;

ü Simula, Сленг — для моделирования;

ü Лисп, Снобол — для работы со списочными структурами.

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д. Первый универсальный язык Пл/1 был разработан фирмой IBM. Второй по мощности универсальный язык — Алгол-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными, организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнения участков программ.

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

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

3.12. Основы объектно-ориентированного программирования

ООП позволяет разложить проблему на составные части. В этом случае вся процедура упрощается, и появляется возможность оперировать с гораздо более объемными программами. Каждая составляющая становится самостоятельным объектом, содержащим свои собственные коды и данные, относящиеся к нему.

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

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

Все языки ООП основаны на трех основополагающих концепциях:

Инкапсуляция— означает, что объекты скрывают детали своей работы. Инкапсуляция позволяет разработчику объекта изменять внутренние принципы его функционирования, не оказывая никакого влияния на пользователя объекта. В Visual Basic этот принцип реализуется в основном за счет применения описаний Private и Public.

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

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

3.13. Системы программирования

Система программирования — это система для разработки новых программ на конкретном языке программирования. В них входят:

• компилятор или интерпретатор;

• интегрированная среда разработки;

• средства создания и редактирования текстов программ;

• обширные библиотеки стандартных программ и функций;

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

• «дружественная» к пользователю диалоговая среда;

• многооконный режим работы;

• мощные графические библиотеки; утилиты для работы с библиотеками;

• встроенная справочная служба;

• другие специфические особенности.

Популярные системы программирования — Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.

Дата добавления: 2014-01-04 ; Просмотров: 2880 ; Нарушение авторских прав?

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

МАШИННО-ОРИЕНТИРОВАННЫЙ ЯЗЫК

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

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

Лит.:[1]Джермейн К., Программирование на IBM/360, пер. с англ., 2 изд., М., 1973; [2] Браун П., Макропроцессоры и мобильность программного обеспечения, пер. с англ., М., 1977; [3] Катков В. Л., Рар А. Ф., Программирование на языке ЭПСИЛОН, Новосиб., 1972. ‘ А. П. Ершов.

Смотреть что такое «МАШИННО-ОРИЕНТИРОВАННЫЙ ЯЗЫК» в других словарях:

машинно-ориентированный язык — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN machine oriented language … Справочник технического переводчика

машинно-ориентированный язык (программирования) — — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN computer oriented languageCOL … Справочник технического переводчика

машинно-ориентированный язык программирования высокого уровня — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN machine oriented high level languageMOHLL … Справочник технического переводчика

язык ПЛ/М — Процедурный машинно ориентированный язык высокого уровня. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом … Справочник технического переводчика

Язык ассемблера — Листинг программы на языке ассемблера Motorola MC6800 (слева идут адреса и машинные коды в шестнадцатеричной системе, вычисленные и сгенерированн … Википедия

Язык программирования Рубин — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 … Википедия

ЯЗЫК ПРОГРАММИРОВАНИЯ — знаковая система, применяемая для записи процессов решения задач на ЭВМ; средство общения пользователя с ЭВМ, позволяющее на формально логическом уровне описывать последовательность операции по обработке информации. Основу Я. п. составляют… … Сельско-хозяйственный энциклопедический словарь

язык программирования — язык программирования, знаковая система, применяемая для записи процессов решения задач на ЭВМ; средство общения пользователя с ЭВМ, позволяющее на формально логическом уровне описывать последовательность операций по обработке информации. Основу… … Сельское хозяйство. Большой энциклопедический словарь

Рубин (язык программирования) — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 … Википедия

АЛГОРИТМИЧЕСКИЙ ЯЗЫК — формальный язык программирования, формальный язык, предназначенный для описания вычислительных процессов, или, что то же, для записи алгоритмов, подлежащих выполнению на вычислительных машинах.. Различают проблемно ориентированные А. я. (А. я.… … Математическая энциклопедия

Источник

Как развивались языки программирования

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

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

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

нидерландский учёный, труды которого оказали влияние на развитие информатики и информационных технологий

Для чего нужны языки программирования

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

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

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

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

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

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

Какие бывают языки программирования

Уже в начале XIX века появились первые «программируемые» механизмы: ткацкие станки, музыкальные шкатулки и т.д. Каждый из них программировался своим собственным набором инструкций. Так появились предметно-ориентированные языки программирования, которые в огромном количестве создаются до сих пор по мере появления новых устройств и аппаратного обеспечения.

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

Текст программы для отображения «Hello, world» на языке Python

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

Текст программы для отображения «Hello, world» на языке Malbolge

Кроме упомянутых учебных, эзотерических и предметно-ориентированных языков, есть еще визуальные языки, где программирование состоит в манипулировании графическими элементами. В основном такие языки используются для создания программ с графическим интерфейсом. Есть еще специализированные языки СУБД, языки для промышленной автоматизации и другие ЯП относительно узкого назначения.

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

Общепринятой классификации не существует, но исторически принято разделять ЯП на высокоуровневые и низкоуровневые языки.

Языки высокого уровня

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

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

Машинно-ориентированные языки

Дональд Кнут в своей классической книге «Искусство программирования» приводил такой довод в пользу низкоуровневых языков: «Например, некоторые комбинаторные вычисления нужно повторять триллионы раз, и мы сэкономим приблизительно 11,6 дней работы за счет того, что сократим время вычислений во внутреннем цикле всего на одну микросекунду». Даже один сэкономленный такт вычислений дает огромную экономию в крупном масштабе!

Если вам попалась невероятно эффективная и быстрая программа — она наверняка написана с применением низкоуровневого языка.

Популярность языков

Какие основные языки программирования — определить непросто. Существуют различные метрики для измерения популярности языков, каждая из которых отражает определенный аспект популярности языка:

По активности разработчиков на GitHub в 2017 году рейтинг выглядит так:

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Uchenik.top - научные работы и подготовка
0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии