Вопрос Языки программирования
Существуют различные классификации языков программирования.
Остановимся на двух основных:
· классификация по уровням(низкий и высокий)
· классификация по поколениям
Классификация по уровням:
q Низший уровень (Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми)
- Язык микрокоманд
На основе простейшего набора микрокоманд пишутся специальные микропрограммы, определяющие, с одной стороны, элементарные операции компьютера, а с другой - управление выполнением программ из элементарных операций.
Совокупность таких микропрограмм иногда называют ЭМУЛЯТОРОМ.
- Машинный
Каждая его команда описывается последовательностью микрокоманд. Синтаксически эти команды не более, чем последовательности нулей и единиц. Машинный язык, как и язык микрокоманд, удобен для интерпретации аппаратурой компьютера, но плохо приспособлен для непосредственного использования человеком-программистом. Программирование в машинных кодах требует от программиста много времени, труда, повышенного внимания.
- Автокод или ассемблер
Операторы этого языка - те же команды, но они имеют мнемонические (ассоциативные, буквенные) названия, а в качестве операндов используются не конкретные адреса в оперативной памяти, а их символические имена.
- Макроязык
Макрос предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. На макропроцессор поступает макроопределяющий и исходный текст. Реакция макропроцессора на вызов-выдача выходного текста.
q Высокий уровень (Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ, являются машинно-независимыми)
- Проблемно – ориентированные языки
Эти языки, языки ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме.
Проблемных языков очень много, например:
• Фортран, Алгол – языки, созданные для решения математических задач;
• Simula, Слэнг - для моделирования;
Лисп, Снобол – для работы со списочными структурами
- Универсальные языки
Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д.
Первый универсальный язык был разработан фирмой IBM, ставший в последовательности языков Пл/1. Второй по мощности универсальный язык называется Алгол-68.
III.Диалоговые языки
Появление новых технических возможностей поставило задачу перед системными программистами – создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками.
Одним из примеров диалоговых языков является Бэйсик.Он использует обозначения подобные обычным математическим выражениям. Поэтому этот язык позволяет решать достаточно широкий круг задач.
- Непроцедурные языки
Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам (табличные языки и генераторы отчетов), и языков связи с операционными системами.
Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны быть выполнены прежде чем переходить к какому-либо действию. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения.
Табличные методы легко осваиваются специалистами любых профессий.
Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе.