Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Языки программирования ).pdf
Добавлен: 24.04.2023
Просмотров: 515
Скачиваний: 1
СОДЕРЖАНИЕ
1.2. История развития языков программирования
1.3. История развития среды для разработки программ
2.Классификация языков программирования
2.1. Машинно – ориентированные языки
2.1.2. Языки символического кодирования
2.2. Машинно – независимые языки
2.2.1. Проблемно – ориентированные языки
3. Выбор языка и среды для разработки программ
3.1. Современные языки программирования
3.2. Среды для разработки программ
3.2.1. Microsoft Visual Studio
3.2.3. BlackBox Component Builder
3.3. Методологии программирования
3.2.1. Структурное программирование
3.2.2. Объектно-ориентированное программирование
3.2.3. Декларативное программирование
2.Классификация языков программирования
2.1. Машинно – ориентированные языки
Машинно – ориентированные языки -это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно –ориентированные языки позволяют использовать все возможности и особенности Машинно – зависимых языков:
- высокое качество создаваемых программ (компактность и скорость выполнения);
- возможность использования конкретных аппаратных ресурсов;
- предсказуемость объектного кода и заказов памяти;
- для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
- трудоемкость процесса составления программ (особенно на машинных языках и языках символического кодирования), плохо защищенного от появления ошибок;
- низкая скорость программирования;
- невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.
Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы. [1]
2.1.1. Машинные языки
Машинный язык – это командный язык, с помощью которого программист задает команды, оперируя с ячейками памяти, полностью используя возможности машины. Суть этого языка — набор кодов, обязательно понятных процессору, к кому обращаются. Части («слова») этого языка называются инструкциями, каждая из которых представляет собой одно элементарное действие для центрального процессора, как, например, считывание информации из ячейки памяти. Если знаешь, можно непосредственно управлять процессором. Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающие наличие и типы ошибок, которые надо анализировать. Уже одно обращение к процессору громоздко, а уж анализ ошибок и вовсе представляется невообразимым, особенно, если не именно с этим процессором приходится работать. Вообще набор команд машинного языка сильно зависит от типа процессора. [1]
2.1.2. Языки символического кодирования
Языки Символического Кодирования, так же, как и машинные языки, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных (во внутреннем коде) или восьмеричных (часто используемых при написании программ) цифр, в Языки Символического Кодирования заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ. [3]
2.1.3. Автокоды
Автокод - язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка.
Позднее для языков этого уровня стало применяться названия ассемблера. Появление языков типа Автокод – Ассемблер облегчило участь программистов. Переменные величины стали изображаться символическими именами. Числовые коды операций заменились на мнемонические (словесные) обозначения, которые легче запомнить. Язык программирования стал понятнее для человека, но при этом удалился от языка машинных команд. Чтобы компьютер мог исполнять программы на автокоде, потребовался специальный переводчик – транслятор. Здесь впервые в истории развития программирования появились два представления программы: в исходных текстах и в откомпилированном виде. [1]
2.1.4. Макрос
Макрос - язык, являющийся средством для замены последовательности символов, описывающих выполнение требуемых действий ЭВМ на более сжатую форму. В основном, Макрос предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. На макропроцессор поступает макрос определяющий и исходный текст. Реакция макропроцессора на вызов – выдача выходного текста. Макрос одинаково может работать, как с программами, так и с данными. [1]
2.2. Машинно – независимые языки
Машинно - независимые языки - это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ.
Подобные языки получили название высокоуровневых языков программирования. Программы, составляемые на таких языках, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка (задачи, сегменты, блоки и т.д.). Операторы языка описывают действия, которые должна выполнять система после трансляции программы на машинный язык.
Программист получил возможность не расписывать в деталях вычислительный процесс на уровне машинных команд, а сосредоточиться на основных особенностях алгоритма. (машинно -независимые языки, которые согласно ГОСТ 19781-90, используют понятия и структуры удобные для восприятия человеком. Программы на языках высокого уровня могут исполняться на различных типах микропроцессоров, то есть обладают свойством переносимости. Компиляторы, которые обеспечивают переносимость и эффективность ПО, существенно усложняются. Например, назначение регистров в языках высокого уровня выполняется с помощью компиляторов, а в ассемблере регистры указываются в самой команде либо в программе создается процедура формирования адреса регистра. Строка программного кода с оператором языка программирования высокого уровня транслируется примерно в три – семь машинных команд, что увеличивает размер программного обеспечения и оказывает влияние на время исполнения программного кода. [5]
2.2.1. Проблемно – ориентированные языки
Не требуют подробной записи алгоритма решения задачи. Управляющие структуры данных этих языков отражают особенности класса решаемых задач. Практически все языки программирования создавались как проблемно-ориентированные. Ярким примером этого типа является язык Pascal.
Язык программирования, специализированный для конкретной области применения (в противоположность языку общего назначения, применимому к широкому спектру областей и не учитывающему особенности конкретных сфер знаний). Построение такого языка и/или его структура данных отражают специфику решаемых с его помощью задач. Является ключевым понятием языково-ориентированного программирования.
Парадигма проблемно – ориентированных языков предоставляет разработчику возможность в одном и том же проекте использовать 5–10 разных языков, в зависимости от задач конкретного модуля/подсистемы без изменения общего подхода к реализации [4]
2.2.2. Универсальные языки
Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и так далее. Первый универсальный язык был разработан фирмой IBM, ставший в последовательности языков Pl/1. Второй по мощности универсальный язык называется Algol-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Pl/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнение участков программ.
Программы в Pl/1 компилируются с помощью автоматических процедур. Язык использует многие свойства таких языков как FORTRAN, Algol, COBOL. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти. [3]
2.2.3. Диалоговые языки
Появление новых технических возможностей поставило задачу перед системными программистами – создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных (не диалоговых) языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач. Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе. [4]
2.2.4. Непроцедурные языки
Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам (табличные языки и генераторы отчетов), и языков связи с операционными системами. Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны выполнятся, прежде чем переходить к какому-либо действию. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения. Табличные методы легко осваиваются специалистами любых профессий. Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе. [4]
3. Выбор языка и среды для разработки программ
3.1. Современные языки программирования
Алгоритмический язык (язык программирования) представляет собой один из способов записи алгоритма. Язык программирования является строго формализованным, то есть все команды записываются по определенным правилам и отступления от этих правил не допускаются. Правила записи команд на конкретном языке называются синтаксисом языка. Синтаксис определяет, какая команда будет считаться правильной, а какая нет. Каждая команда, записанная на языке программирования, имеет определенное значение, то есть заставляет компьютер выполнять те или иные действия. Правила, определяющие смысл команд, называются семантикой языка. Каждый язык имеет алфавит – набор символов, которые можно использовать при записи программ на этом языке. Программа, написанная на языке программирования, состоит из команд (операторов), задающих последовательность действий. Эти действия выполняются над некоторыми объектами. Объектами могут быть числа, текстовые строки, переменные и другие. Языки отличаются друг от друга множеством допустимых объектов и набором операций, которые можно выполнять над этими объектами. [7]