Рады, что вам понравилась статья 😊
Ключевая и равнозначная составная часть современного компьютера вместе с электронным наполнением – программным обеспечением (ПО). Этим ЭВМ кардинально отличается от любой другой аппаратуры и даже контроллеров. Программы заставляют компьютер действовать по алгоритмам, заданным человеком. Их задача – автоматизировать определенные функции и режимы взаимодействия, которые свойственны выбранному профилю деятельности специалистов. ПО на многие порядки увеличивает продуктивность работы пользователей. Оно бывает общим и специальным.
У общего ПО задача — реализовать функции в рамках структуры компьютера. В состав этого ПО входит операционная система (ОС), система программирования (СП), программы по техническому обслуживанию.
Состав специального ПО — проблемно-ориентированные прикладные программы (ПП). Они решают выделенные задачи пользователей, применительно к объектам управления, исследования или вычислений.
Определение №1 Системой программирования называется программная структура, с ее применением разработчики на конкретных языках программирования создают прикладные программы, тестируют их и оптимизируют.
Во время работы с выбранной языковой средой в программировании, СП функционирует с определенной ОС, на которую она рассчитывалась. Но разрабатывать программы в этой среде программисту доступно для любых ОС.
СП — это инструментальный набор программиста. Состоит из совокупности отдельных компонентов:
В такой структуре программисты создают прикладные программы под реализацию рабочих заданий.
Языки — ключевое звено в структурах СП. Соответственно с ними, системы делятся на процедурные и непроцедурные, то есть проблемно-ориентированные, а также объектно-ориентированные.
Определение №2 Процедурные (алгоритмические) языки программирования — это языки, в которых программы создаются как последовательности команд или инструкций, определяющих действия, которые должны быть выполнены для достижения конкретной цели. Эти языки ориентированы на алгоритмы и процедуры, что позволяет разработчикам структурировать код в виде функций или подпрограмм, которые могут быть многократно вызваны и использоваться в различных частях программы.
По таким предписаниям разработчика компьютер только исполняет требуемые шаги алгоритма. Процедурные языки имеют высокий и низкий уровень.
Низкоуровневый (машинно-ориентированный) язык пишется машинным кодом. На нем создаются системные и вспомогательные программы, например, драйверы.
Высокоуровневый язык включает в себя комплекс команд и правил их использования.
Процедурные языки высокого уровня:
Объектно-ориентированные системы программирования строятся на языках:
Концепция объектного ориентирования языков — взаимодействие между собой программ в общем комплексе, где важно не место и иерархия, а свойства и взаимные зависимости, операции между ними.
В проблемно-ориентированных СП используются языки:
Непроцедурному языку пользователь указывает действие для выполнения, но без подробностей выполнения.
Совокупность входных языков, целевое применение и структура СП разносят их по двум категориям: машинно-ориентированных и машинно-независимых.
Состав машинно-ориентированных структур — входной язык, командные операторы, компоненты визуализации.
Они выделяются следующими свойствами:
По степени автоматизации ПМОС состоят из классов:
Для перевода макрокоманд в машинный код применяются 2 способа:
Обоими способами ЯСК транслируется в набор с макрокомандами. Они же — операторы автокодов.
Системы с машинно-независимым программированием
МНСП описывают алгоритмы с решениями заданной функции и информацию для обработки. В таком случае не требуются знания структуры и принципов работы ЭВМ.
МНСП представляются следующими видами:
Компиляторы и интерпретаторы — это два основных типа программного обеспечения, используемых для выполнения программ, написанных на языках программирования. Оба они преобразуют исходный код в форму, которая может быть выполнена компьютером, но делают это по-разному. Давайте рассмотрим их различия и схожие черты.
Компилятор — это программа, которая переводит весь исходный код программы, написанной на высокоуровневом языке программирования, в машинный код (или промежуточный байт-код) до того, как программа будет выполнена. Компилированный код сохраняется в исполняемом файле, который можно запустить отдельно от исходного кода.
При обработке выполняются действия:
Дальше – обработка сгенерированного кода в сборщике компилятора. Преобразованный файл готов к запуску, и заносится в память. Дальше его запускает операционная система.
Большой минус компилятора — высокая трудоемкость транслирования с языка, предназначенного для обработки информации в сложных структурах.
Интерпретатор — это программа, которая выполняет исходный код непосредственно, построчно, без предварительного перевода всего кода в машинный код. Интерпретатор анализирует и выполняет код по мере его выполнения.
Каждый очередной оператор в алгоритме задачи отдельно анализируется, и запускается к исполнению. Но следующий оператор в интерпретаторе может запускаться уже после того, как выполнится текущий оператор. Поэтому когда выполняется многократно повторяющаяся команда, интерпретатор исполняет ее каждый раз заново. В итоге обработка программ с большими объемами циклических операций вычисления, сильно замедляет работу. Это большой минус интерпретатора.
А важный его плюс в том, что программа может быть остановлена в любое время. После этого пользователю открыт режим диалога с компьютером. Можно контролировать память, выполнять сложное преобразование информации. В это время пользователь контролирует состояние программно-аппаратного комплекса, достигается высокая надежность.
Работа интерпретаторов эффективно используется во время обучения программированию. Можно спокойно разбираться в работе каждой команды во время останова, проводить анализ, а потом продолжать работу.