Файл: Системы программирования ( Понятие системы программирования).pdf
Добавлен: 31.03.2023
Просмотров: 332
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Понятие системы программирования
1.1 Элементы программных систем
1.2 Понятие о системе программирования и структура программы
1.5 Примеры языков и систем программирования
Глава 2. Системные программы для ПК
2.1 Системные программы для компьютера: общие понятия
2.2 Системные программы Windows
2.5 Программы для тестирования системы и ее компонентов
2.7 Программы для резервного копирования и восстановления
Введение
Важное место в программном обеспечении современных ЭВМ занимают системы программирования. Основное их назначение - освободить программиста от необходимости работать на языке машинных команд. Язык программирования, с которым работает система программирования, называется ее входным языком. Системы программирования именуются по названию своего входного языка. Например: Бейсик - система, Паскаль - система, система пролог. Иногда в название систем включаются префиксы, обозначающие, например, фирменное происхождение системы. Очень популярны системы с приставкой «Турбо»: Турбо - Паскаль, Турбо - Си и другие. Это системы программирования, разработанные фирмой Borland.
Программирование существует 2-ух типов, системное и прикладное. Разработкой системного программного обеспечения занимаются системные программисты (они разрабатывают утилиты, операционные системы и многое другое). Игры, табличные процессоры, программы для обучения, и многое другое создается прикладными программистами. Очень большой спрос как на, имеющих высокую квалификацию, системных, так и на прикладных программистов.
Современные программы, как известно, не могут существовать без определенного программирования. В тоже время на сегодняшний день систем программирования насчитывается далеко не один вид. Для исполнения и создания программы, используются целые системы программирования.
Системы программирования – это комплексы программ и прочих средств, предназначенных для разработки и их эксплуатации на конкретном языке программирования для конкретного вида ЭВМ.
Системы программирования используются для, создания и исполнения программ на компьютере, написанных программном языке.
Для отладки, разработки, а так же исполнения каких-либо программ, которые записаны на каком-либо одном языке программирования, существует программное обеспечение компьютера – система программирования.
Целью курсовой работы является изучение современных систем программирования.
Для достижения поставленной цели нами были поставлены следующие задачи:
1) систематизировать основные этапы развития языков программирования и систем программирования;
2) выделить основные виды систем программирования;
3) рассмотреть основные компоненты системы программирования; )выявить требования к системам программирования;
4) выполнить обзор современных систем программирования.
При написании работы были проанализированы различные источники научно-технической литературы и статьи Интернет
Курсовая работа состоит из двух глав, введения, заключения и библиографического списка
Глава 1. Понятие системы программирования
Системы программирования обеспечивают платформу для разработки прикладного программного обеспечения и непосредственно взаимодействуют с компьютерным оборудованием, чтобы получить необходимую производительность при выполнении задач пользователей. Платформу можно использовать для программирования приложений iPhone, iPad и операционных систем Android, используя язык программирования Java. Интерфейс Android Studio и Oracle Java SDK в сочетании с необходимыми базовыми знаниями позволяет создавать самые разнообразные приложения.
1.1 Элементы программных систем
Для начала раскроем понятие о системах программирования. Те, которыми мы пользуемся сейчас, относятся к периоду 3-го поколения ЭВМ. Системное программирование заключается в создании программного обеспечения. Оно может выполнять множество различных задач. Без него большинство аппаратных средств не исполняли бы свои функции. Чтобы сделать их полезными, используют программное обеспечение. Пользователю требуется выбирать нужную программу для каждого задания.
Элементы классической системы программирования:
1.Операционная система - является интерфейсом между прикладным программным обеспечением и компьютером.
2.Утилиты - небольшие, но мощные программы с ограниченными возможностями для конкретных задач. Обычно применяются пользователями для обеспечения бесперебойной работы компьютерной системы[1].
3.Библиотечные программы представляют собой скомпилированный набор подпрограмм, например, библиотек. Предоставляют множество функций и процедур, доступных при написании программы.
4.Программное обеспечение перевода: ассемблер, компилятор, переводчик.
5.Интерпретатор анализирует и выполняет языковую программу высокого уровня по одной строке за раз.
6.Прикладное программное обеспечение, предназначенное для помощи пользователю в выполнении конкретных задач, например, GIMP - для редактирования фотографий.
Пример современной системы программирования включает в себя сервисное и базовое ПО.
1.2 Понятие о системе программирования и структура программы
Общая форма программы уделяет особое внимание отдельным компонентам и взаимосвязи между ними. Программы бывают хорошо или плохо структурированными. С хорошо структурированной программой разделение на компоненты следует по принципам, например, таким как сокрытие информации, а интерфейсы между компонентами ясны и просты. На более тонком уровне она использует соответствующие структуры данных и программные единицы с единственной точкой входа и одной точкой выхода.
При плохо структурированной программе разделение на компоненты в значительной степени произвольно, а интерфейсы являются неявными и сложными. Кроме того, такая программа имеет произвольные структуры данных и поток контроля. Практически все структурированные программы имеют общий характер действий:
1.Заявление о начале программы.
2.Объявление переменной.
3.Программные заявления (блоки кода).
Примеры приветствия «Hello World»
Системы программирования и примеры приветствия «Hello World» на разных программных языках четко демонстрирует базовые различия.
Примеры приветствия «Привет мир»
Чтобы использовать переменную внутри программы, компилятор должен заранее знать тип данных, которые будут храниться в нем. По этой причине переменные объявляются в начале программы.
Объявление переменной состоит из указания нового имени и типа данных для переменной. Обычно это делается в самом начале.
Объявление переменной
На следующем рисунке показан пример системы программирования для структуры цикла, который запускает набор операторов, пока условие не станет истинным.
Набор операторов
Бесконечный цикл
Это тот, который не имеет функционирующей процедуры выхода. В результате цикл повторяется непрерывно до тех пор, пока операционная система не почувствует его и не прекратит программу с ошибкой или пока не произойдет какое-либо другое событие, например, программа автоматически прекратится через определенное время[2].
Системы программирования и примеры программ на языке C для программы сортировки строк в словаре представлены ниже. Эта программа принимает 10 слов (строк) от пользователя и сортирует их в лексикографическом порядке. Например, 10 языков программирования:
1.C.
2.C++.
3.Java.
4.PHP.
5.Python.
6.Perl.
7.Cobol.
8.Ruby.
9.R.
10.JavaScript.
Примеры программ на языке C
Результат:
1.C.
2.C++.
3.Cobol.
4.Java.
5.JavaScript.
6.PHP.
7.Perl.
8.Python.
9.R.
10.Ruby.
1.3 Основные инструменты
Для программирования нужно несколько инструментов. Схема классической системы программирования:
1.Текстовый редактор – средства редактирования. Этот инструмент позволяет написать исходный код. Это обычный инструмент, необходимый для программирования на любом языке. Действительно, при программировании ценят наличие таких функций, как: автозаполнение, подсветка синтаксиса, поиск, редактирование, замены части кода и редактор отступа.
2.Компилятор или интерпретатор. Этот инструмент напрямую связан с языком программирования.
3.Отладчик. Разработчики, как и все люди, могут ошибаться. Нахождение и исправление ошибок требует времени. Отладчик - это инструмент, который поможет отследить их. Он позволяет запускать программу шаг за шагом, видеть ее состояние в любой момент, а также проверять, выполняется ли часть кода или нет.
4.Библиотека подпрограмм.
5.Сопровождающая документация.
Использование шаблона дизайна состоит в том, чтобы структурировать программу или использовать инструменты языка и максимально четко обеспечить системный подход к программированию, а также связь с базой данных шаблона, создание страницы, которая будет отображать пользовательский вид. В более общем плане шаблон проектирования представляет собой многозадачное и усовершенствованное решение[3].
Структура программного обеспечения (или фреймворка) представляет собой специальный тип библиотеки программного обеспечения. Его первая цель состоит в том, чтобы компоновать программирование, обеспечивая максимально инструментами, которые понадобятся. Например, Django 2 представляет собой структуру в Python, предназначенную для облегчения создания реактивных веб-сайтов. Она создает структуру и предлагает общие инструменты, которые могут потребоваться всем сайтам (интерфейс администрирования, службы аутентификации, способ перевода сайта на несколько языков и т. д).
Другим примером является наличие нескольких фреймворков в JavaScript (jQuery или angular.js) с одной целью - одни и те же действия должны быть написаны по-разному в зависимости от типа браузера, используемого посетителем на веб-сайте. Они имеют уникальный интерфейс, чтобы превратить это в код, понятный каждому браузеру. На фото пример системы программирования в JavaScript для задачи по открытию нового окна после нажатия на кнопку.
1.4 Скомпилированные языки
Язык программирования - это набор соглашений и абстракций, которые позволяют писать то, что нужно пользователю, чтобы компьютер выдавал результат в более понятной форме. Компиляции заключается в преобразовании исходного кода в исполняемый файл. Это преобразование выполняется компилятором. Разница в скорости исполнения огромна. В целом при прочих равных условиях программа на скомпилированном языке будет работать примерно в десять раз быстрее, чем на интерпретируемом. Ниже приведен пример системы программирования на Си. Он демонстрирует программу, которая использует так называемые функции высшего порядка и чистые функции.
В случае интерпретируемых языков исходный код предоставляется интерпретатору, который выполняет программу напрямую. При этом нет необходимости беспокоиться об операционной системе или типе процессора, так как он должен быть установлен на компьютере пользователя. Более того, поскольку исходный код должен быть «переведен» в машинный при каждом выполнении, интерпретируемые языки часто медленны по сравнению с эквивалентными скомпилированными языками. При этом интерпретаторы не оптимизируют генерируемый машинный код, что заставляет их работать медленнее, но процесс генерации машинного кода выполняется быстрее, чем у компиляторов.
Языки виртуальных машин
Часто сокращено их называют «языки VM» (в соответствии с аналогий английского названия виртуальной машиной). Принцип действия и назначение системы программирования заключается в том, чтобы исходный код переводился не в машинный, понятный конкретному процессору, а в «фиктивный» (байт-код), который сам будет интерпретироваться языком виртуальной машиной. Такой язык имеет свои преимущества и недостатки.
Как и в интерпретируемых языках, программа, скомпилированная в байт-код, может работать на любой операционной системе и процессоре при условии, что виртуальная машина доступна для этой комбинации. С другой стороны, поскольку была компиляция восходящего потока, программа работает быстрее, чем на эквивалентном интерпретируемом языке. Часто она достигает скорости, аналогичной скорости «реального» машинного кодового языка. Однако это нивелируется тем фактом, что виртуальная машина может быть достаточно ресурсоемкой, особенно в памяти.
Наконец, можно создавать новые языки, которые скомпилируются в один и тот же байт-код как еще один существующий язык, что упрощает их взаимодействие. Это одна из задач системы программирования. Пример - языки Clojure и Frege компилируются как для байт-кода Java. Они являются функциональными и радикально отличными от Java в их дизайне. В этом случае можно написать разные части программы с одним из наиболее подходящих языков и заставить их работать вместе на виртуальной машине. Java - язык, который лучше всего компилируется на виртуальную машину. Но потребуется приложение, состоящее из набора классов Java. В начале любого класса существует определенная структура, такая как JavaClassFileFormat.