Автор работы: Пользователь скрыл имя, 07 Января 2013 в 16:27, реферат
Неотъемлемая часть современных ЭВМ – системы программного обеспечения, являющиеся логическим продолжением логических средств ЭВМ, расширяющим возможности аппаратуры и сферу их использования. Система программного обеспечения, являясь посредником между человеком и техническими устройствами машины, автоматизирует выполнение тех или иных функций в зависимости от профиля специалистов и режимов их взаимодействия с ЭВМ.
ВВЕДЕНИЕ 2
СИСТЕМЫ ПРОГРАММИРОВАНИЯ 3
СРЕДСТВА СОЗДАНИЯ ПРОГРАММ 3
ИНТЕГРИРОВАННЫЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ 4
СРЕДЫ БЫСТРОГО ПРОЕКТИРОВАНИЯ 5
АРХИТЕКТУРА ПРОГРАММНЫХ СИСТЕМ 6
ОСНОВНЫЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ 9
КОМПИЛЯТОРЫ И ИНТЕРПРИТАТОРЫ 10
ТРАНСЛЯЦИЯ И КОМПОНОВКА 12
Трансляция 12
Компоновка 16
ИСХОДНЫЙ И ОБЪЕКТНЫЙ МОДУЛИ 17
Объектный модуль 19
Исполняемая программа 22
ЗАКЛЮЧЕНИЕ 25
СПИСОК ЛИТЕРАТУРЫ 27
Неотъемлемая
часть современных ЭВМ –
Системы программирования – это комплекс программ и прочих средств, предназначенных каждый для разработки и эксплуатации программ на конкретном языке программирования.
Системой программирования называется комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ. Система программирования освобождает проблемного пользователя или прикладного программиста от необходимости написания программ решения своих задач на неудобном для него языке машинных команд и предоставляют им возможность использовать специальные языки более высокого уровня. Для каждого из таких языков, называемых входными или исходными, система программирования имеет программу, осуществляющую автоматический перевод (трансляцию) текстов программы с входного языка на язык машины. Обычно система программирования содержит описания применяемых языков программирования, программы-трансляторы с этих языков, а также развитую библиотеку стандартных подпрограмм.
В самом общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты.
Кроме того, к ним надо добавить машинный код подпрограмм, реализующих различные стандартные функции (например вычисляющих математические функции sin или In). Такие функции содержатся в библиотеках (файлах со стандартным расширением .LIB), которые поставляются вместе с компилятором. Сгенерированный код модулей и подключенные к нему стандартные функции надо не просто объединить в одно целое, а выполнить такое объединение с учетом требований операционной системы, то есть получить на выходе программу, отвечающую определенному формату.
Объектный код обрабатывается специальной программой —редактором связей или сборщиком, который выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение — исполнимый код для конкретной платформы.
Если по каким-то причинам один из объектных модулей или нужная библиотека не обнаружены (например, неправильно указан каталог с библиотекой), то сборщик сообщает об ошибке и готовой программы не получается.
Итак, для создания программы нужны:
· текстовый редактор;
· компилятор;
· редактор связей;
· библиотеки функций.
Как правило, в стандартную поставку входят как минимум три последних компонента, но хорошая интегрированная система включает в себя и специализированный текстовый редактор, причем почти все этапы создания программы в ней автоматизированы: после того как исходный текст введен, его компиляция и сборка выполняются одним нажатием клавиши. Это очень удобно, так как не требует ручной настройки множества параметров запуска компилятора и редактора связей, указывания им нужных файлов вручную и т. д. Процесс компиляции обычно демонстрируется на экране: показывается, сколько строк исходного текста откомпилировано, или выдаются сообщения о найденных ошибках.
В современных интегрированных системах имеется еще один компонент — отладчик, который позволяет анализировать работу программы во время ее выполнения. С его помощью можно последовательно выполнять отдельные операторы исходного текста по шагам, наблюдая при этом, как меняются значения различных переменных. Без отладчика разработать крупное приложение очень сложно.
В последние несколько лет в программировании (особенно в программировании для операционной системы Windows) наметился так называемый визуальный подход. До этого серьезным препятствием для разработки графических приложений была сложность создания различных элементов управления и контроль за их работой. Достаточно взглянуть на окно любой Windows-программы. В нем имеется множество стандартных элементов управления (кнопки, пункты меню, списки, переключатели и т. д.). Очень трудоемко вручную описывать процесс создания этих элементов в соответствии с требованиями Windows, на глазок определять координаты, отслеживать их состояние с помощью специальных команд. Например, для простой программы, складывающей два числа, потребуется один оператор (одна строка исходного текста) для выполнения нужного вычисления и сотни строк кода для подготовки приложения к работе в Windows, создания кнопки и пары полей ввода.
Этот процесс автоматизирован в средах быстрого проектирования (Rapid Application Development, RAD-среды). Все необходимые элементы оформления и управления создаются и обслуживаются не путем ручного программирования, а с помощью готовых визуальных компонентов, которые с помощью мыши «перетаскиваются» в проектируемое окно. Их свойства и поведение затем настраиваются с помощью простых редакторов, визуально показывающих характеристики соответствующих элементов. При этом вспомогательный исходный текст программы, ответственный за создание и работу этих элементов, генерируется RAD-средой автоматически, что позволяет сосредоточиться только на логике решаемой задачи. В результате программирование во многом заменяется на проектирование — подобный подход называется еще визуальным программированием.
Компоненты достаточно легко создавать
самостоятельно, поэтому в мире сегодня
распространяются тысячи бесплатных и
платных компонентов для
В то время как большинство
При одновременном обращении
Особенность этой архитектуры в том, что все вычисления выполняются на клиентских местах, что требует наличия на них достаточно производительных ПК (это так называемые системы с толстым клиентом — программой, которая выполняет всю обработку получаемой от сервера информации).
Частный случай компонентного подхода — доступ к серверным приложениям из броузеров через Интернет.
Сегодня наиболее популярны три компонентные технологии — CORBA консорциума OMG, Java Beans компании Sun и СОМ+ корпорации Microsoft. Эти технологии будут определять развитие информационной индустрии в ближайшие десятилетия.
Из универсальных языков программирования сегодня наиболее популярны следующие:
Бейсик (Basic) — для освоения требует начальной подготовки (общеобразовательная школа);
Паскаль (Pascal) — требует специальной подготовки (школы с углубленным изучением предмета и общетехнические ВУЗы);
Си++ (C++), Ява (Java) — требуют профессиональной подготовки (специализированные средние и высшие учебные заведения).
Для каждого из этих языков программирования сегодня имеется немало систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы. Наиболее популярны следующие визуальные среды быстрого проектирования программ для Windows:
· Basic: Microsoft Visual Basic
· Pascal: Borland Delphi
· C++: Borland C++Bulider
· Java: Symantec Cafe
Для разработки серверных и распределенных приложений можно использовать систему программирования Microsoft Visual C++, продукты фирмы Inprise под маркой Borland, практически любые средства программирования на Java.
С помощью языка программирования создается не готовая программа, а только ее текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы-компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы-интерпретаторы).
Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения такой программы на другом компьютере там также должен быть установлен интерпретатор — ведь без него текст программы является просто набором символов.
По-другому,
можно сказать, что интерпретатор
моделирует некую виртуальную