Автор работы: Пользователь скрыл имя, 30 Апреля 2013 в 14:01, курсовая работа
Даже при наличии десятков тысяч программ для IBM PC пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В этих случаях следует использовать системы программирования, т.е. системы для разработки новых программ. Инструментальные системы (системы программирования) - программы, обеспечивающие создание новых программ для компьютера.
Основные данные о работе
Содержание
Введение
Основная часть
1. Понятие и структура системы программирования
2. Системы программирования компании Borland
Заключение
Глоссарий
Список использованных источников
Приложения
Версия шаблона |
2.1 |
Филиал |
Фрязинский |
Вид работы |
Курсовая работа |
Название дисциплины |
Информационные технологии |
Тема |
Современные системы программирования |
Фамилия студента |
Вотчиль |
Имя студента |
Валерий |
Отчество студента |
Андреевич |
№ контракта |
15100100602105 |
Основные данные о работе
Содержание
Введение
Основная часть
1. Понятие и структура системы программирования
2. Системы программирования компании Borland
Заключение
Глоссарий
Список использованных источников
Приложения
Даже при наличии десятков тысяч программ для IBM PC пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В этих случаях следует использовать системы программирования, т.е. системы для разработки новых программ. Инструментальные системы (системы программирования) - программы, обеспечивающие создание новых программ для компьютера.
Современные системы программирования для персональных компьютеров обычно предоставляют пользователю весьма мощные и удобные средства для разработки программ. В них входят:
-компилятор, осуществляющий преобразование
программ на языке
-библиотеки подпрограмм,
-различные вспомогательные
Часто компиляторы или интерпретаторы
объединяются с редакторами текстов
для ввода и исправления
Для популярных языков программирования на IBM PC существует множество систем программирования. Естественно, что программисты предпочитают те системы, которые легки в использовании, позволяют получить эффективные программы, имеют богатые библиотеки функций (подпрограмм) и мощные возможности для отладки разрабатываемых программ. В качестве примеров таких систем программирования можно назвать Turbo С, Turbo C++, Turbo Pascal, Microsoft С, Microsoft Basic.
Системы программирования прежде всего различаются, естественно, по тому, какой язык программирования они реализуют. Среди программистов, пишущих программы для персональных компьютеров, наибольшей популярностью пользуются языки Си, Си++, Паскаль и Бейсик. Приведем краткие сведения об этих языках.
Язык Си был изобретен в 1972 г. Денисом Ричи для использования при написании весьма ныне популярной операционной системы Unix. Си соединяет свойства языка высокого уровня с возможностью эффективного использования ресурсов компьютера, которое обычно обеспечивается только при программировании на языке Ассемблера. Си не очень прост в обучении и требует тщательности в программировании, но позволяет писать сложные и весьма высокоэффективные программы. Бьярном Страустрапом был разработан язык Си++ представляющий собой расширение языка Си, реализующее популярные в последнее время концепции объектно-ориентированного программирования и облегчающее создание сложных программ.
Язык Паскаль был разработан в 1970 г. Никлаусом Виртом как язык для обучения студентов программированию. Этот язык позволяет писать программы, легко читаемые даже новичком, и содержит в себе все элементы, необходимые для соблюдения хорошего строгого стиля программирования (называемого структурным программированием), упрощающего разработку сложных программ. Это обусловило большую популярность этого языка. В своем первоначальном виде язык Паскаль имел довольно ограниченные возможности, так как был предназначен для учебных целей, но при разработке реализации Паскаля на компьютерах в него были внесены дополнения, делающие его более пригодным для практического использования. Системы программирования на языке Паскаль для IBM PC также реализуют расширенные варианты этого языка. Из этих реализации наиболее популярная – Turbo Pascal фирмы Borland.
Язык Бейсик был создан в 1964 г. Томасом Куртом и Джоном Кемени как язык для начинающих, облегчающий написание простых программ. Существуют сотни различных версий Бейсика, которые не полностью (а иногда и мало) совместимы друг с другом. Язык Бейсик очень распространен на микрокомпьютерах, он легок для обучения, но мало подходит для написания больших и сложных программ. На IBM PC широко используются Quick Basic фирмы Microsoft и Turbo Basic фирмы Borland. Эти реализации содержат множество конструкций, позволяющих писать программы в стиле языка Паскаль.
На IBM PC, кроме языков Си, Си++, Паскаля и Бейсика, используется и много других языков программирования. Для построения экспертных систем употребляются языки Лисп и Пролог, для создания информационных систем популярен язык Clipper и т.д. Имеются и реализации языков, которые использовались ранее на больших компьютерах, например Фортрана и Кобола.
Всякий компилятор является составной частью системного программного обеспечения. Основное назначение компиляторов служить для разработки новых прикладных и системных программ с помощью языков высокого уровня.
Любая программа, как системная, так и прикладная, проходит этапы жизненного цикла, начиная от проектирования и вплоть до внедрения и сопровождения. Акомпиляторы это средства, служащие для создания программного обеспечения на этапах кодирования, тестирования и отладки.
Однако сам по себе компилятор не решает полностью всех задач, связанных с разработкой новой программы. Средств только лишь компилятора недостаточно для того, чтобы обеспечить прохождение программой указанных этапов жизненного цикла. Поэтому компиляторы это программное обеспечение, которое функционирует в тесном взаимодействии с другими техническими средствами, применяемыми на данных этапах.
Основные технические средства, используемые в комплексе с компиляторами, включают в себя следующие программные модули:
- текстовые редакторы, служащие для создания текстов исходных программ;
- компоновщики, позволяющие объединять несколько объектных модулей, порождаемых компилятором, в единое целое;
- библиотеки прикладных
- загрузчики, обеспечивающие подготовку
готовой программы к
- отладчики, выполняющие
Первоначально компиляторы представляли собой обособленные программные модули, решающие исключительно задачу перевода исходного текста программы на входном языке в язык машинных кодов. Компиляторы разрабатывались вне связи с другими техническими средствами, с которыми им приходилось взаимодействовать. Взадачу разработчика программы входило обеспечить взаимосвязь всех используемых технических средств:
- подать входные данные в
виде текста исходной
- получить от компилятора
- подать весь набор полученных объектных файлов вместе с необходимыми библиотеками подпрограмм на вход компоновщику;
- получить от компоновщика
- поставить программу на выполнение, при необходимости использовать отладчик для проверки правильности выполнения программы.
Все эти действия выполнялись с
помощью последовательности команд,
инициировавших запуск соответствующих
программных модулей с
Со временем разработчики компиляторов постарались облегчить труд пользователей, предоставив им все необходимое множество программных модулей в составе одной поставки компилятора. Теперь компиляторы поставлялись уже вкупе со всеми необходимыми сопровождающими техническими средствами. Кроме того, были унифицированы форматы объектных файлов и файлов библиотек подпрограмм. Теперь разработчики, имея компилятор от одного производителя, могли в принципе пользоваться библиотеками и объектными файлами, полученными от другого производителя компиляторов.
Для написания командных файлов компиляции был предложен специальный командный язык язык Makefile. Он позволял в достаточно гибкой и удобной форме описать весь процесс создания программы от порождения исходных текстов до подготовки ее к выполнению. Это было удобное, но достаточно сложное техническое средство, требующее от разработчика высокой степени подготовки и профессиональных знаний, поскольку сам командный язык Makefile был по сложности сравним с простым языком программирования. Язык Makefile стал стандартным средством, единым для компиляторов всех разработчиков.
Такая структура средств разработки существовала достаточно долгое время, а в некоторых случаях она используется и по сей день (особенно при создании системных программ). Ее широкое распространение было связано с тем, что сама по себе вся эта структура средств разработки была очень удобной при пакетном выполнении программ на компьютере, что способствовало ее повсеместному применению в эпоху mainframe.
Следующим шагом в развитии средств разработки стало появление так называемой интегрированной среды разработки. Интегрированная среда объединила в себе возможности текстовых редакторов исходных текстов программ и командный язык компиляции. Пользователь (разработчик исходной программы) теперь не должен был выполнять всю последовательность действий от порождения исходного кода до его выполнения, от него также не требовалось описывать этот процесс с помощью системы команд в Makefile. Теперь ему было достаточно только указать в удобной интерфейсной форме состав необходимых для создания программы исходных модулей и библиотек. Ключи, необходимые компилятору и другим техническим средствам, также задавались в виде интерфейсных форм настройки.
После этого интегрированная среда
разработки сама автоматически готовила
всю необходимую
Создание интегрированных сред разработки стало возможным благодаря бурному развитию персональных компьютеров и появлению развитых средств интерфейса пользователя (сначала текстовых, а потом и графических). Их появление на рынке определило дальнейшие развитие такого рода технических средств. Пожалуй, первой удачной средой такого рода можно признать интегрированную среду программирования Turbo Pascal на основе языка Pascal производства фирмы Borland. Ее широкая популярность определила тот факт, что со временем все разработчики компиляторов обратились к созданию интегрированных средств разработки для своих продуктов.
Развитие интегрированных сред несколько снизило требования к профессиональным навыкам разработчиков исходных программ. Теперь в простейшем случае от разработчика требовалось только знание исходного языка (его синтаксиса и семантики). При создании прикладной программы ее разработчик мог в простейшем случае даже не разбираться в архитектуре целевой вычислительной системы.
Дальнейшее развитие средств разработки
также тесно связано с
Это не могло не сказаться на требованиях, предъявляемых к средствам разработки программного обеспечения. Вих состав были сначала включены соответствующие библиотеки, обеспечивающие поддержку развитого графического интерфейса пользователя и взаимодействие с функциями API (application program interface, прикладной программный интерфейс операционных систем). А затем для работы с ними потребовались дополнительные средства, обеспечивающие разработку внешнего вида интерфейсных модулей. Такая работа была уже более характерна для дизайнера, чем для программиста.
Для описания графических элементов программ потребовались соответствующие языки. На их основе сложилось понятие ресурсов(1) (resources) прикладных программ.
Ресурсами прикладной программы будем называть множество данных, обеспечивающих внешний вид интерфейса пользователя этой программы, и не связанных напрямую с логикой выполнения программы. Характерными примерами ресурсов являются: тексты сообщений, выдаваемых программой; цветовая гамма элементов интерфейса; надписи на таких элементах, как кнопки и заголовки окон и т.п.
Для формирования структуры ресурсов в свою очередь потребовались редакторы ресурсов, а затем и компиляторы ресурсов, обрабатывающие результат их работы(2). Ресурсы, полученные с выхода компиляторов ресурсов, стали обрабатываться компоновщиками и загрузчиками.