Файл: Классификация языков программирования высокого уровня (Основные понятия языков).pdf
Добавлен: 04.04.2023
Просмотров: 127
Скачиваний: 1
- возможность использования конкретных аппаратных ресурсов;
- высокое качество создаваемых программ (компактность и скорость выполнения);
- предсказуемость объектного кода и заказов памяти;
- низкая скорость программирования;
- для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
- трудоемкость процесса составления программ, плохо защищенного от появления ошибок;
- невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.
Языки символического кодирования[20]. Так же как машинный язык, языки символического кодирования, являются командными. Но коды операций и адреса в машинных командах, представляющие собой последовательность двоичных или восьмеричных цифр, в языке символического кодирования заменены на символы, форма написания которых помогает программисту легче запоминать смысловое содержание операции. Благодаря этому существенно уменьшается число ошибок при составлении программ.
Использование символических адресов — это первый шаг к созданию языка символического кодирования. Команды ЭВМ вместо истинных адресов содержат символические адреса. По результатам составленной программы определяется требуемое количество ячеек для хранения исходных промежуточных и результирующих значений.
Автокоды. [21]Также есть языки, которые включают в себя все возможности языка символического кодирования, посредством расширенного введения макрокоманд, которые называются Автокоды.
В разных программах встречаются некоторые давольно часто использующиеся командные последовательности, которые соответствуют определенным процедурам преобразования информации. Эффективная реализация таких процедур обеспечивается оформлением их в виде специальных макрокоманд и включением последних в язык программирования, доступный программисту.
Макрокоманды переводятся в машинные команды двумя путями: генерированием и расстановкой. В постановочной системе содержатся «остовы» - серии команд, реализующих требуемую функцию, обозначенную макрокомандой. Макрокоманды обеспечивают передачу фактических параметров, которые в процессе трансляции вставляются в «остов» программы, превращая её в реальную машинную программу.
Макрос[22] — является средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму.
Макрос, в основном, предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. Макрос одинаково работает и с данными, и с программами.
2.2 Машинно-независимые языки
Машинно-независимые языки программирования – это средство описания алгоритмов, решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ.
Операторы языка описывают действия, которые должна выполнять система после трансляции программы на машинном языке. Таким образом, командные последовательности, которые часто используются в машинных программах, представлены в высокоуровневых языках отдельными операторами. Программист получил возможность не расписывать в деталях вычислительный процесс на уровне машинных команд, а сосредоточиться на основных особенностях алгоритма.
Процедурно-ориентированные.[24]Входные языки программирования служат для записи алгоритмов, обработки информации, характерных для решения задач определённого класса. Эти языки, должны обеспечить программиста средствами, позволяющими кратко и чётко формулировать задачу, получать результаты в требуемой форме.
Проблемно-ориентированные.[25]С расширением областей применения вычислительной техники возникла необходимость формализовать представления постановки и решения новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач. Программы, составленные на основе этих языков программирования, записаны в терминах решаемой задачи и реализуются выполнением соответствующих процедур.
Диалоговые языки. [26]Появление новых технических возможностей поставило задачу перед системными программистами создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ, их назвали диалоговыми языками. Разрабатывались языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач. Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе.
Непроцедурные языки. [27]Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам и языков связи с операционными системами. Позволяя чётко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны выполняться, прежде чем переходить к какому-либо действию. Табличные методы легко осваиваются специалистами любых профессий. Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе.
Глава 3: История и краткая характеристика языков программирования
3.1 Языки низкого уровня
Ассемблер. [29]Данный язык относится к языкам низкого уровня. Свое название они получили от имени системной программы Ассемблер. Она преобразует исходные программы, которые написаны на таких языках, непосредственно в коды машинных команд. Термин «ассемблер» произошел от английского слова assembler – сборщик частей в одно целое. Частями здесь служат операторы, а результатом сборки — это последовательность машинных команд. Ассемблированием называется процесс сборки.
Ассемблер — это машинно-зависимый язык. Исходная программа, которая написана на ассемблере, состоит из одного или нескольких модулей, а каждый модуль состоит из операторов.
Язык Ассемблера объединяет в себе достоинства языка машинных команд и некоторые черты языков высокого уровня. Данный язык обеспечивает возможность применения символических имен в исходной программе. Он помогает программистам без труда распределить память компьютера для команд, переменных и констант, что естественно при программировании на языке машинных команд.
Ещё язык Ассемблер позволяет гибко и полно использовать технические возможности компьютера, также, как и язык машинных команд. На этом языке возможно написать такую же по размеру и времени выполнения программу, как и аналогичную программу на языке машинных команд. Это достоинство отсутствует у языков высокого уровня.
На языке ассемблера пишут:
- программы, которые взаимодействуют с внешними устройствами;
- программы, которые требуют максимальную скорость выполнения;
- программы, которые используют в полном объёме возможности операционной системы;
- программы, которые используют в полном объёме возможности процессора.
Недостатки языка Ассемблера:
- трудоемкость в чтении;
- трудоемкость в написании программы;
- для совместных проектов он малопригоден.
Достоинства языка Ассемблера:
- максимальная адаптация под соответствующий процессор;
- максимальная оптимизация программ, как по размеру, так и по скорости выполнения.
3.2 Языки высокого уровня
Фортран. [30]Данный язык был создан в 1956 г. Он был одним из первых языков программирования высокого уровня, которые появились в мире. Этот язык понимал формулы, записанные в форме, которая похожа на обычную математическую запись. Так и появилось название языка -FORmula TRANslation (перевод формулы).
В 60 - 70 годы прошлого века Фортран приобрел большую известность и популярность. Наибольшая часть математических и научно-технических вычислений производилась именно на этом языке, доля остальных языков была незначительна. Популярным Фортран стал благодаря своей легкости и простоте изучения. Данный язык опережал существенно другие языки по быстродействию и по компактности генерируемого кода, главным образом это было благодаря использованию более простых конструкций языка и их эффективной реализации. В основном Фортран создавался для выполнения математических расчетов.
Надо сказать, что Фортран того периода не был тем языком, на котором удобно и легко было программировать. Жесткая структура программы, достаточно примитивный набор операторов управления, а также слабые средства описания данных делали написание программы на данном языке не самым простым занятием.
В 1990, 1995 и 2003 гг. были приняты новые стандарты языка, что позволило существенно изменить положение. Фортран избавился от ненужных и устаревших конструкций и приобрёл новые. Этот язык во многом догнал, а в чем-то и перегнал другие языки программирования и превратился в современный и мощный язык. Не поменялась у него основа, язык программирования Фортран — это язык для описания численных методов и для выполнения математических вычислений.
В наше время Фортран занимает очень скромное место среди всех языков программирования. Сейчас вместе с новыми программами появились и новые языки программирования. Доля математических расчетов среди всех других вычислений существенно сократилась, сократилась и доля языка Фортрана среди других языков программирования.
Кобол.[31]Данный язык был разработан в 1959 – 1960 годах. С англ. COBOL от COmmom Business Oriented Language (общий язык, ориентированный на бизнес). Кобол — это язык программирования третьего поколения, предназначенный, в основном для разработки бизнес-приложений. Ещё этот язык предназначался для обработки данных для банков, для решения экономических задач, для страховых компаний и других учреждений подобного рода. Кобол позволяет эффективно работать с большим количеством данных, у него много разных возможностей сортировки, поиска и распределения.
Программы на этом языке основаны на широком использовании английского языка. Из недостатков можно назвать, что на Коболе можно запрограммировать лишь простые алгебраические вычисления. Для инженерных расчетов Кобол не подходит.
Алгол. [32]Данный язык изначально был разработан в 1958 году. С англ. ALGOL от ALGOrithmic Language (алгоритмический язык). Алгол использует слова в качестве ограничителей блоков. Этот язык программирования был первым, кто использовал слова "begin" и "end".
Были три основные версии языка программирования Алгола: Алгол 58, Алгол 60 и Алгол 68. Свои названия каждая версия Алгола получила в честь того года, в котором она была опубликована.
Дынный язык был разработан совместно с Комитетом европейских и американских компьютерных ученых. Алгол имеет три разных синтаксиса: синтаксис исполнения, синтаксис публикации и ссылочный синтаксис.
Так как у данного языка были довольно строгие правила синтаксиса, это позволило создавать с его помощью программы больших размеров. Но это вызвало не маленькие сложности в практическом применении для решения повседневных задач. Поэтому язык программирования Алгол, в основном, нашел применение не в инженерных, а в научных кругах, в первую очередь среди специалистов по прикладной математике, экспериментальной и теоретической физике.
В 1960 году Джоном Бэкусом и Питером Нарос был выпущен язык программирования Алгол 60. Он вдохновил разработчиков многих других языков, которые были созданы позже.