Даже при наличии на рынке ПО десятков тысяч самых разнообразных программ, пользователям может понадобиться нечто, что они не делают или делают не так, как нужно. В этих случаях используют так называемые системы программирования — специализированные программные комплексы, предназначенные для разработки новых программ. Современные системы программирования предоставляют разработчикам ПО весьма мощные и удобные средства для эффективной деятельности.
Средства создания программ
В самом общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты: текстовый редактор, транслятор, библиотеки программ, редактор связей.
Текстовый редактор. Так как текст программы записывается с помощью ключевых слов, обычно происходящих от слов английского языка и набора стандартных символов для записи всевозможных операций, для его создания можно использовать любой текстовый редактор. Лучше, однако, использовать специализированные редакторы, которые ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять ключевые слова и идентификаторы разными цветами и шрифтами. Подобные редакторы имеются для всех популярных языков программирования; к тому же они могут автоматически проверять правильность синтаксиса создаваемой программы непосредственно во время ввода текста с клавиатуры.
Информатика. 7 класс. Системы программирования /20.01.2021/
Транслятор позволяет преобразовать исходный текст, записанный на языке высокого уровня, в машинный код (если будут обнаружены синтаксические ошибки, программапотребует их устранения). На этом этапе в принципе возможно получение готовой программы, но чаще всего в ней будут отсутствовать некоторые компоненты, поэтому компилятор обычно создает промежуточный объектный код (двоичный файл, имеющий стандартное расширение.OBJ).
В процессе программирования очень часто пользуются готовыми подпрограммами, реализующими стандартные функции (например, вычисляющих математические функции sin или In); они содержатся в библиотеках, которые поставляются вместе с компилятором.
Исходный текст большой программы состоит, как правило, из нескольких модулей (файлов с исходными текстами), потому что хранить все тексты в одном файле неудобно — в них сложно ориентироваться. Каждый модуль компилируется в отдельный файлс объектным кодом. Сгенерированный код модулей и подключенные к нему стандартные функции надо не просто объединить в одно целое, а выполнить такое объединение с учетом требований операционной системы, то есть получить на выходе программу, отвечающую определенному формату. Для этого объектный код обрабатывается специальной программой -редактором связей (сборщиком), который выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение- исполнимый код (обычно итоговый файл имеет расширение.ЕХЕ или.СОМ).
Если по каким-то причинам один из объектных модулей или нужная библиотека не обнаружены (например, неправильно указан каталогс библиотекой), сборщик выдаст сообщение об ошибке; пока она не будет исправлена, готовой программы не получится. Исполнимый код — это законченная программа, которую можно запустить на любом компьютере с операционной системой, для которой программасоздавалась.
Введение в Системы Сборки для C++ программистов / cMake, Bazel, Make
Интегрированные системы программирования
В стандартную поставку интегрированной системы программирования входят как минимум три из перечисленных выше компонентов (транслятор, библиотеки и редактор связей); наиболее известные включают также и специализированный текстовый редактор. Почти все этапы создания программы в них автоматизированы: после того как исходный текст введен, его компиляция и сборка выполняются одним нажатием клавиши. Это очень удобно, так как не требует ручной настройки множества параметров запуска компилятора и редактора связей, указания им нужных файлов вручную и т. д. Процесс компиляции обычно демонстрируется на экране: показывается, сколько строк исходного текста откомпилировано, выдаются сообщения о найденных ошибках.
В современных интегрированных системах обычно имеется еще один компонент — отладчик, который позволяет анализировать работу программы во время ее выполнения. С его помощью можно последовательновыполнять отдельные операторы исходного текста по шагам, наблюдая при этом, как меняются значения различных переменных. Без отладчика разработать крупное приложениеочень сложно.
Для всех универсальных языков программирования сегодня имеется несколько систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы. Наибольшее распространение получили системы, которые удобны в использовании, позволяют получать эффективные программы, имеют богатые библиотеки подпрограмм и мощные возможности для отладки. К ним относятся, в частности, Turbo Pascal, Turbo C++, Microsoft С, Microsoft Basic.
Среды быстрого проектирования
В последние несколько лет в программировании (особенно для операционной системы Windows) все большее распространение получает так называемый визуальный подход. Прежде серьезным препятствием для разработки графических приложений была сложность создания различных элементов управления и контроль за их работой. В окнах любой Windows-программы имеется множество стандартных элементов управления (кнопки, пункты меню, списки, переключатели и т. д.). Очень трудоемко вручную описывать процесс создания этих элементов в соответствии с требованиями Windows, на глазок определять координаты, отслеживать их состояние с помощью специальных команд.
Например, для простой программы, складывающей два числа, потребуется всего один оператор (одна строка исходного текста) для выполнения собственно необходимых действий и сотни строк кода — для подготовки приложения к работе в Windows, создания одной кнопки и пары полей ввода.
Этот процесс автоматизирован в средах быстрого проектирования (Rapid Application Development, RAD-среды). Все необходимые элементы оформления и управления создаются и обслуживаются не путем ручного программирования, а с помощью готовых визуальных компонентов, которые с помощью мыши «перетаскиваются» в проектируемое окно. Их свойства и поведение затем настраиваются с помощью простых редакторов, визуально показывающих характеристики соответствующих элементов. При этом вспомогательный исходный текст программы, ответственный за создание и работу этих элементов, генерируется RAD-средой автоматически, что позволяет сосредоточиться только на логике решаемой задачи. В результате программирование во многом превращается в проектирование окон (подобный подход называют также визуальным программированием).
Компоненты окон создавать достаточно легко, поэтому во всем мире сегодня распространяются тысячи бесплатных и платных компонентов для наиболее известных RAD-сред. Из них формируются библиотеки компонентов — объектные репозитории. Компоненты выступают в роли «строительных кирпичиков», позволяющих собирать готовое приложение
с богатыми возможностями, написав всего десяток строк исходного кода. Такой компонентный подход к созданию программ считается очень перспективным, потому что без лишних усилий и на законных основаниях допускает повторное использование чужого труда.
Из визуальных сред быстрого проектирования программ наибольшую популярность приобрели: для языка Basic — Microsoft Visual Basic; Pascal — Borland Delphi; C++ — Borland C++Builder; Java — Symantec Cafe. К системам проектирования, использующим визуальные средства разработки, можно отнести также AutoCAD, системы лабораторных исследований Lab View, MATLAB, математический пакет Maple. Все они являются лидерами в своей области.
Для разработки серверных и распределенных приложений можно использовать систему программирования Microsoft Visual C++, продукты фирмы Inprise под маркой Borland, практически любые средства программирования на Java.
CASE-технологии — это метод проектирования информационных систем (а также соответствующий набор инструментальных средств), позволяющий в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационными потребностями пользователей. Современные CASE-средства весьма различны по своим возможностям — от простых средств анализа и документирования до полномасштабных систем автоматизации, охватывающих весь жизненный циклПО.
Наиболее трудоемкими этапами разработки ИС являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую программу, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями.
В разряд CASE-средств попадают как относительно дешевые системы для персональных компьютеров с весьма ограниченными возможностями, так и дорогостоящие разработки для неоднородных вычислительных платформ и операционных сред. Сейчас на рынке распространяется около 300 различных CASE-средств, наиболее мощные из которых так или иначе используются практически всеми ведущими программистскими фирмами. В принципе к ним относится любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла ПО и обладающее следующими характерными особенностями:
наличие графических инструментов для описания и документирования ИС, обеспечивающих удобный интерфейс разработчика и развивающие его творческие возможности;
тесная интеграция отдельных компонент, обеспечивающая управляемость процессом разработки ИС;
использование специальным образом организованного хранилища проектных метаданных (репозитория).
Интегрированные CASE-средства (поддерживающие полный жизненный циклПО) содержат следующие компоненты:
репозиторий, являющийся основой всей системы. Он должен обеспечивать хранение версий проекта и его отдельных компонентов, синхронизацию информации, поступающей от различных участников проекта, контроль метаданных на полноту и непротиворечивость;
графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархически связанных диаграмм (DFD, ERD и др.), образующих модели ИС;
средства разработки приложений, включая языки 4GL и генераторы кодов;
инструменты конфигурационного управления;
средства документирования, тестирования, управления проектом, реинжиниринга.
Все современные CASE-средства подразделяются по типам и категориям. Классификация по типам отражает их функциональную ориентацию на те или иные процессы жизненного цикла ПО. Классификация по категориям определяет степень интегрированное™ системы по выполняемым функциям: различают отдельные локальные средства, решающие небольшие автономные задачи (tools); наборы частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС (toolkit); полностью интегрированные средства, поддерживающие весь жизненный циклИС, связанные общим репозиторием. Кроме того, CASE-средства можно классифицировать по таким признакам, как методология и модели систем и БД, степень интегрированное™ с СУБД, доступные аппаратные и программные платформы и т.д.
Классификация по типам соотносится с компонентным составом CASE-средств; можно назвать следующие основные типы:
средства анализа (Upper CASE), предназначенные для построения и анализа моделей предметной области;
средства анализа и проектирования (Middle CASE), поддерживающие наиболее распространенные методологии проектирования и использующиеся для создания проектных спецификаций. Выходом таких средств являются спецификации компонентов и интерфейсов системы, архитектуры системы, алгоритмов и структур данных;
инструменты проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных (как правило, на языке SQL) для наиболее распространенных СУБД. К ним относятся ERwin (Logic Works), S-Designer (SDP) и DataBase Designer (ORACLE);
средства разработки приложений, такие как 4GL (Uniface Compu-ware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQLWindows (Gupta), Delphi (Borland) и генераторы кодов, входящие в состав Vantage Team Builder, PRO-IV и частично в Silverrun;
средства реинжиниринга, обеспечивающие анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций.
Контрольные вопросы и задания
1. В чем состоит назначение транслятора?
2. Опишите принципы работы интерпретатора и компилятора.
3. Перечислите основные компоненты инструментальных средств создания
программ и опишите их функции.
4. В чем заключаются отличительные особенности визуальных сред быстрого
программирования?
5. Охарактеризуйте интегрированные системы программирования.
6. С какой целью разработчики ПО используют CASE-средства
Воспользуйтесь поиском по сайту:
studopedia.org — Студопедия.Орг — 2014-2023 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с) .
Источник: studopedia.org
Системы программирования. Классификация и обзор программирования
С течением времени одни системы развивались, приобретали новые черты и остались востребованы, другие утратили свою актуальность и сегодня представляют в лучшем случае чисто теоретический интерес.
Цель работы:
— описать современные системы программирования,
— сделать обзор языков программирования.
Понятие, назначение и составные элементы систем программирования 3
2. Классификация языков программирования 9
2.1 Процедурное программирование 9
2.2 Объектно-ориентированное программирование 10
2.3 Декларативные языки программирования 11
3. Обзор языков программирования 12
3.1 Основные языки программирования 12
3.2 Языки программирования для компьютерных сетей 21
Список используемой литературы 24
Работа содержит 1 файл
Тема: «Системы программирования. Классификация и обзор программирования».
Понятие, назначение и составные элементы систем программирования 3
2. Классификация языков программирования 9
2.1 Процедурное программирование 9
2.2 Объектно-ориентированное программирование 10
2.3 Декларативные языки программирования 11
3. Обзор языков программирования 12
3.1 Основные языки программирования 12
3.2 Языки программирования для компьютерных сетей 21
Список используемой литературы 24
В пятидесятые годы двадцатого века с появлением компьютеров на электронных лампах началось бурное развитие систем программирования. К сегодняшнему дню насчитывают несколько поколений систем программирования. Каждое из последующих поколений по своей функциональной мощности качественно отличается от предыдущего. С появлением персональных компьютеров системы стали составными частями интегрированных сред разработки. Появились системы, применяемые в различных офисных программах.
В настоящее время системы программирования применяются в самых различных областях человеческой деятельности, таких как научные вычисления, системное программирование, обработка информации, искусственный интеллект, издательская деятельность, удаленная обработка информации, описание документов.
С течением времени одни системы развивались, приобретали новые черты и остались востребованы, другие утратили свою актуальность и сегодня представляют в лучшем случае чисто теоретический интерес.
— описать современные системы программирования,
— сделать обзор языков программирования.
1. Понятие, назначение и составные элементы систем программирования.
Неотъемлемая часть современных ЭВМ – системы программного обеспечения, являющиеся логическим продолжением логических средств ЭВМ, расширяющим возможности аппаратуры и сферу их использования. Система программного обеспечения, являясь посредником между человеком и техническими устройствами машины, автоматизирует выполнение тех или иных функций в зависимости от профиля специалистов и режимов их взаимодействия с ЭВМ. Основное назначение программного обеспечения – повышение эффективности труда пользователя, а также увеличение пропускной способности ЭВМ посредством сокращения времени и затрат на подготовку и выполнение программ.
Программное обеспечение ЭВМ можно подразделить на общее и специальное программное обеспечение.
Общее программное обеспечение реализует функции, связанные с работой ЭВМ, и включает в себя системы программирования, операционные системы, комплекс программ технического обслуживания.
Специальное программное обеспечение включает в себя пакеты прикладных программ, которые проблемно ориентированы на решение вполне определенного класса задач.
Системой программирования называется комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ. Система программирования освобождает проблемного пользователя или прикладного программиста от необходимости написания программ решения своих задач на неудобном для него языке машинных команд и предоставляют им возможность использовать специальные языки более высокого уровня. Для каждого из таких языков, называемых входными или исходными, система программирования имеет программу, осуществляющую автоматический перевод (трансляцию) текстов программы с входного языка на язык машины. Обычно система программирования содержит описания применяемых языков программирования, программы-трансляторы с этих языков, а также развитую библиотеку стандартных подпрограмм. Важно различать язык программирования и реализацию языка.
Язык – это набор правил, определяющих систему записей, составляющих программу, синтаксис и семантику используемых грамматических конструкций.
Реализация языка – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд.
Имеется два основных вида средств реализации языка: компиляторы и интерпретаторы.
Компилятор транслирует весь текст программы, написанной на языке высокого уровня, в ходе непрерывного процесса. При этом создается полная программа в машинных кодах, которую затем ЭВМ выполняет без участия компилятора.
Интерпретатор последовательно анализирует по одному оператору программы, превращая при этом каждую синтаксическую конструкцию, записанную на языке высокого уровня, в машинные коды и выполняя их одна за другой. Интерпретатор должен постоянно присутствовать в зоне основной памяти вместе с интерпретируемой программой, что требует значительных объемов памяти.
Следует заметить, что любой язык программирования может быть как интерпретируемым, так и компилируемым, но в большинстве случаев у каждого языка есть свой предпочтительный способ реализации. Языки Фортран, Паскаль в основном компилируют; язык Ассемблер почти всегда интерпретирует; языки Бейсик и Лисп широко используют оба способа.
Основным преимуществом компиляции является скорость выполнения готовой программы. Интерпретируемая программа неизбежно выполняется медленнее, чем компилируемая, поскольку интерпретатор должен строить соответствующую последовательность команд в момент, когда инструкция предписывает выполнение.
В то же время интерпретируемый язык часто более удобен для программиста, особенно начинающего. Он позволяет проконтролировать результат каждой операции. Особенно хорошо такой язык подходит для диалогового стиля разработки программ, когда отдельные части программы можно написать, проверить и выполнить в ходе создания программы, не отключая интерпретатора.
По набору входных языков различают системы программирования одно- и многоязыковые. Отличительная черта многоязыковых систем состоит в том, что отдельные части программы можно составлять на разных языках и помощью специальных обрабатывающих программ объединять их в готовую для исполнения на ЭВМ программу.
Для построения языков программирования используется совокупность общепринятых символов и правил, позволяющих описывать алгоритмы решаемых задач и однозначно истолковывать смысл созданного написания. Основной тенденцией в развитии языков программирования является повышение их семантического уровня с целью облегчения процесса разработки программ и увеличения производительности труда их составителей.
По структуре, уровню формализации входного языка и целевому назначению различают системы программирования машинно-ориентированные и машинно-независимые.
Машинно-ориентированные системы программирования имеют входной язык, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно-ориентированные системы позволяют использовать все возможности и особенности машинно-зависимых языков:
— высокое качество создаваемых программ;
— возможность использования конкретных аппаратных ресурсов;
— предсказуемость объектного кода и заказов памяти;
— для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
— трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;
— низкая скорость программирования;
— невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.
Машинно-ориентированные системы по степени автоматического программирования подразделяются на классы:
1.Машинный язык. В таких системах программирования отдельный компьютер имеет свой определенный Машинный Язык (далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. Однако, некоторые семейства ЭВМ (например, ЕС ЭВМ, IBM/370/ и др.) имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции. В новых моделях ЭВМ намечается тенденция к повышению внутренних языков машинно-аппаратным путем реализовывать более сложные команды, приближающиеся по своим функциональным действиям к операторам алгоритмических языков программирования.
3.Автокоды. Существуют системы программирования, использующие языки, которые включают в себя все возможности ЯСК, посредством расширенного введения макрокоманд – они называются Автокоды. В различных программах встречаются некоторые достаточно часто использующиеся командные последовательности, которые соответствуют определенным процедурам преобразования информации.
Эффективная реализация таких процедур обеспечивается оформлением их в виде специальных макрокоманд и включением последних в язык программирования, доступный программисту. Макрокоманды переводятся в машинные команды двумя путями – расстановкой и генерированием.
В постановочной системе содержатся «остовы» – серии команд, реализующие требуемую функцию, обозначенную макрокомандой. Макрокоманды обеспечивают передачу фактических параметров, которые в процессе трансляции вставляются в «остов» программы, превращая её в реальную машинную программу.
В системе с генерацией имеются специальные программы, анализирующие макрокоманду, которые определяют, какую функцию необходимо выполнить и формируют необходимую последовательность команд, реализующих данную функцию. Обе указанных системы используют трансляторы с ЯСК и набор макрокоманд, которые также являются операторами автокода. Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как правило, составлены на языках типа Ассемблер.
4.Макрос. В таких системах язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму – называется Макрос (средство замены). В основном, Макрос предназначен для того, чтобы сократить запись исходной программы.
Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. На макропроцессор поступает макросопределяющий и исходный текст. Реакция макропроцессора на вызов – выдача выходного текста. Макрос одинаково может работать, как с программами, так и с данными.
Источник: www.stud24.ru
Для чего предназначены системы программирования Для разработки каких типов программного обеспечения служат системы программирования
Системы программирования используют для разработки всех типов программного обеспечения. Специалистов, разрабатывающих программное обеспечение, называют программистами.
1) Системы программирования предназначены для создания (написания) программ, с ними работают разные программисты, для создания своих собственных программ.
2) Системы программирования предназначены для разработки различных типов программного обеспечения.
Источник: murnik.ru