Системы программирования

Что такое система программирования

Определение

Система программирования — это система для разработки новых программ на конкретном языке программирования.

Специалисты с помощью сервисных возможностей систем программирования могут разрабатывать собственные компьютерные программы. При этом компьютерная программа состоит из совокупности указаний автоматизированной вычислительной системы, в результате выполнения которой получается требуемый результат.

Наиболее полное определение системы программирования и ее составляющих представлено в документе ГОСТ 19781-90. Согласно ему:

Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.

Определение

Система программирования — система, образуемая языком программирования, компиляторами или интерпретаторами программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.

Системы программирования позволяют программистам заниматься разработкой компьютерных программ. Данная задача значительно облегчается совершенствованием систем программирования, в которых постоянно расширяются пользовательские возможности, создается удобная среда для работы и оптимизируется процесс разработки программ.

Что входит в состав комплекса, основные компоненты

Система программирования обычно включает в себя следующие компоненты:

  1. Компилятор или интерпретатор.
  2. Интегрированная среда разработки.
  3. Средства создания и редактирования текстов программ.
  4. Библиотеки стандартных программ и функций.
  5. Отладочные программы, помогающие находить и устранять ошибки.
  6. Диалоговая среда.
  7. Многооконный режим работы.
  8. Мощные графические библиотеки.
  9. Утилиты для работы с библиотеками.
  10. Ассемблер.
  11. Справочная служба.
Определение

Компилятор — это особый вид транслятора, который переводит тексты с языка программирования высокого уровня (с того языка, которым пользуется программист при написании текста программы) на машинный язык (в машинный код, который понятен компьютеру).

Например, если пользователь пишет код на языке высокого уровня, таком как Java, и хочет его выполнить, то ему необходимо использовать специальный компилятор, разработанный для Java. Он занимается сканированием всей программы, транслированием ее в машинный код, который выполняется процессором компьютера, после чего выполняются необходимые задачи.

Определение

Интерпретатор — это исполняемый файл, который поэтапно читает программу, а затем обрабатывает, сразу выполняя ее инструкции. Он осуществляет программу поэтапно как часть собственного исполняемого файла.

Каждый раз, когда интерпретатор получает на выполнение код языка высокого уровня, то перед его конвертацией в машинный код, он преобразовывает этот код в промежуточный язык. Части кода последовательно интерпретируются и выполняются отдельно; при нахождении ошибок в составляющих кода процесс интерпретации останавливается.

Основные отличия компилятора от интерпретатора:

  1. Компилятор занимается трансляцией всей программы, когда интерпретатор транслирует и выполняет по частям.
  2. Интерпретатор в случае возникновения ошибки способен остановить процесс интерпретации, когда компилятор выдает отчет об ошибках только после трансляции.
  3. Компилятор по сравнению с интерпретатором требует больше времени для анализа и обработки языка высокого уровня.
Определение

Интегрированная среда разработки — это набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы.

Функции жизненного цикла разработки программы:

  1. Набор кода и его редактирование.
  2. Компиляция или интерпретация.
  3. Автоматизация сборки.
  4. Отладка.
  5. Профилирование.

Основные компоненты интегрированной среды разработки:

  1. Текстовый редактор, позволяющий редактировать код программы.
  2. Система поддержки сборки, выполняющая компиляцию проектов из исходных кодов.
  3. Компоновщик, который заботится об упорядочивании объектов в адресном пространстве программы. Это может включать перемещение кода, предполагающего определенный базовый адрес, на другую базу.
  4. Отладчик, который представляет собой набор инструментальных средств, позволяющий отлаживать программы на уровне исходного текста.
Определение

Компоновщик — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает из них исполняемый или библиотечный файл-модуль.

В системе программирования компоновщик необходим для связывания объектного и машинного кодов, а также подготовки объектной программы (файла) к работе в конкретной программной среде.

Библиотеки стандартных программ и функций состоят из совокупности подпрограмм, составленных на одном из языков программирования и удовлетворяющих определенным единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм.

Важным компонентом понятия системы программирования являются отладочные программы.

Определение

Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.

Программный модуль отладки позволяет выполнить основные задачи, связанные с мониторингом процесса выполнения результирующей прикладной программы. Отладка позволяет последовательно и пошагово выполнять итоговые программы, просматривать значения объявленных переменных, устанавливать контрольные точки, трассировку для того, чтобы идентифицировать места и виды ошибок в разработке.

Справочная система, входящая в состав системы программирования, предназначена для предоставления пользователю справочной информации по конкретной системе программирования.

Машинно-ориентированные системы программирования

ОпределениеМашинно–ориентированные системы — это системы, в которых язык программирования, наборы операторов и изобразительные средства существенно зависят от особенностей архитектуры компьютера.

Классификация машинно-ориентированных систем:

  1. Машинные языки — совокупность машинных команд, отличающаяся количеством адресов в команде, назначением информации, задаваемой в адресах, набором операций, которые может выполнять машина. Каждый компьютер имеет свой машинный язык.
  2. Языки символического кодирования — они схожи с машинными языками и являются командными, однако представляют собой не последовательности двоичных и восьмеричных цифр, а символический код в виде идентификаторов, предназначенные для облегчения запоминания смыслового содержания операции.
  3. Автокод — языки, включающие в себя все возможности символического кодирования, посредством расширенного введения макрокоманд. Макрокоманда — программный алгоритм действий, записанный пользователем.
  4. Макрос — набор команд и инструкций, группируемых вместе в виде единой команды для автоматического выполнения задачи. Основное назначение макроса — сокращение последовательности символов, описывающих выполнение требуемых действий ЭВМ, для более сжатого вида.

Машинно-независимые системы программирования

Определение

Машинно-независимые системы программирования — системы, позволяющие описывать алгоритмы решения задач и информацию, подлежащую обработке. Системы часто используются в широких кругах пользователей и не требуют особых знаний организации функционирования ЭВМ.

Виды языков программирования в машинно-независимых системах:

  • процедурно-ориентированные;
  • проблемно-ориентированные языки;
  • объектно-ориентированное программирование.
Определение

Процедурно-ориентированные являются основными языками описания алгоритмов, которые обеспечивают математические функции многих современных вычислительных машин.

Они включают в себя такие популярные языки как:

  1. Fortran — один из старейших языков программирования высокого уровня, который используется для приложений с интенсивными вычислениями. Fortan часто применяется в процессе научного и инженерного вычисления. Он удобен благодаря большой программной базе, возможностью работы с документами и библиотекам с открытым исходным кодом, доступных под свободными лицензиями. Язык может осуществлять интуитивную запись в виде массива, которая упрощает запись быстрых векторизованных вычислений.
  2. Бейсик является одним из самых простых языков программирования. Он был создан с целью обучения студентов основам решения задач с помощью написания кода, поэтому программа ориентировалась на пользователей, для которых скорость выполнения программ была не очень важна, и которым первостепенно необходима возможность использовать компьютер для решения своих задач, не имея специальной подготовки. В России сегодня наиболее популярна разновидность Turbo-Basic фирмы Borland.
  3. Язык программирования был создан как язык высокого уровня для разработки операционной системы UNIX и стал популярен благодаря своей простоте и эффективности. Си существенно повлиял на развитие индустрии программного обеспечения; его синтаксис стал основой для современных и востребованных языков C++, C#, Java.
  4. Паскаль — язык высокого уровня общего назначения, который был первоначально разработан Никлаусом Виртом в начале 1970-х годов. Он разрабатывался с целью создания платформы для обучения программированию, поэтому Паскаль недостаточно удобен при решении сложных задач и широко используется для математических операций. Разновидность языка Паскаль АБС стала полноценной системой для начинающих, которая сегодня используется для обучения студентов и школьников.
Определение

Проблемно-ориентированные языки — это формальные языки, предназначенные для описания данных (информации) и алгоритмов их обработки (программ) на вычислительной машине.

Основные проблемно-ориентированные языки:

  1. ЛИСП — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Так как исходный код состоит из списков, программы на ЛИСПе позволяют его изменять как структуру данных и создавать макросистемы, позволяющие программистам формировать новый синтаксис или новые предметно-ориентированные языки, встроенные в ЛИСП. В настоящее время ЛИСП применяется в экспертных системах, системах аналитических вычислений и т.д.
  2. Prolog — язык логического программирования, который обеспечивает решение задач, выраженных в терминах объектов и отношений между ними. Для того чтобы инициировать вычисления, выполняется специальный запрос к базе знаний, на которые система логического программирования генерирует ответы «истина» и «ложь».
Определение

Объектно-ориентированное программирование основано на методологии представления программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

Примеры объектно-ориентированных языков:

  1. JavaScript — язык сценариев, который позволяет создавать интерактивные html-документы, производить вычисления, выполнять проверку допустимости данных без обращения к серверу. Скрипты программы позволяют взаимодействовать с сайтами: заполнять формы обратной связи, оставлять комментарии, просматривать всплывающие подсказки и т.д.
  2. Objective-C — один из языков программирования, который активно используется для разработки мобильных приложений. Он используется корпорацией Apple и необходим для операционных систем OS X и iOS, их программных интерфейсов.
  3. Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Он универсален, поэтому подходит для решения разнообразных задач и многих платформ, начиная с iOS и Android и заканчивая серверными ОС. Python используется в различных сферах IT, таких как машинное обучение, разработка приложений, web, парсинг и другие.
  4. Perl — это язык программирования общего назначения, который изначально был разработан для работы с текстовой информацией, но в дальнейшем стал способен решать широкий круг задач, например, системное администрирование, веб-разработка, сетевое программирование, разработка графического интерфейса пользователя и т.д.

Примеры систем программирования

Актуальные системы программирования:

  1. Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений, которая часто используется как платформа для разработки расширений. Eclipse является платформой с особым фундаментом для построения и запуска интегрированных инструментов разработки сквозного программного обеспечения. В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
  2. IntelliJ IDEA — мощная универсальная среда программирования, поддерживающая язык Java. Она позиционирует себя как умная и удобная система программирования для Java (и других языков) с поддержкой всех последних технологий и фреймворков. У этой среды разработки есть мощные аналитические возможности. Система включает в себя набор инструментов для изменения внутренней структуры программы, который позволяет быстро реорганизовывать исходные тексты. Дизайн среды ориентирован на продуктивность работы программистов и позволяет оптимизировать простые рутинные задачи, чтобы дать возможность специалистам сконцентрироваться на достижение функциональных целей.
  3. Delphi — среда разработки прикладных программ, предназначенных для запуска в ОС Windows, MacOS, а также в мобильных операционных системах — iOS и Android. Delphi отличается простотой и может использоваться в учебных целях. Программы в Delphi пишутся на языке Object Pascal, который является преемником и развитием языка Turbo Pascal. Программа предназначена, в первую очередь, для разработки приложений в архитектуре клиент-сервер.
  4. Symantec Cafe — первая интегрированная среда визуальной разработки для создания приложений и интернет-страниц. Symantec Cafe позволяет разрабатывать приложения на языке Java, которые могут затем встраиваться в интернет-страницы для повышения их функциональности.

Насколько полезной была для вас статья?

Рейтинг: 3.33 (Голосов: 9)

Заметили ошибку?

Выделите текст и нажмите одновременно клавиши «Ctrl» и «Enter»