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

Обновлено: 05.07.2024

Количество программ, которые устанавливаются на современном компьютере, насчитывает сотни и даже тысячи. Именно они дают возможность пользователю комфортно работать.

Вся совокупность программ и составляет так называемое программное обеспечение компьютера. Состав программного обеспечения компьютера − важнейшая его функциональная характеристика. Программное обеспечение (Software) — это совокупность:

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

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

Программное обеспечение (ПО) − продолжение аппаратных средств, неотъемлемая часть компьютерной системы. Даже если программа, как кажется, никак не взаимодействует с оборудованием, не запрашивает ввод данных с устройства ввода и не выполняет вывод данных на устройства вывода, по сути, ее работа нужна для управления аппаратными устройствами компьютера.

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

Готовые работы на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту Узнать стоимость

Уровни ПО (cнизу вверх):

  1. Базовое ПО – базовый уровень
  2. Системное ПО – системный уровень
  3. Прикладное ПО
  4. Инструментарий технологий программирования

Каждый вышележащий уровень повышает функциональность всей системы.

Всё программное обеспечение можно условно поделить на четыре категории.

Базовое программное обеспечение – это минимальный набор программных средств, которые обеспечивают работу компьютера; отвечают за взаимодействие с базовыми программными средствами (входят в состав базового оборудования и хранятся в специальных микросхемах). Эти микросхемы носят название постоянное запоминающее устройство (ПЗУ – Read Only Memory). ПЗУ является энергозависимой памятью. Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства, такие микросхемы не могут быть изменены в процессе сроков работы компьютера.


Если есть необходимость в изменении базовых программных средств во время эксплуатации компьютера, то вместо микросхем ПЗУ используют микросхемы ППЗУ – перепрограммируемые постоянные запоминающие устройства (Erasable and Programmable Read Only Memory). Тогда изменение содержания ППЗУ можно сделать в самой вычислительной системе (флэш-технология) или на специальном устройстве, которое называется программатором. К базовому программному обеспечению также относится BIOS (Basiс Input/Output System) − базовая система ввода-вывода), которая определяет ход процесса загрузки компьютера. Лишь только после этого происходит загрузка операционной системы персонального компьютера, и дальнейшая его работа происходит уже под управлением операционной системы. Во время работы компьютера BIOS обеспечивает базовые функции ввода-вывода информации и функции взаимодействия различных устройств между собой. Это набор микропрограмм, которые сначала тестируют (POST) оборудование, размещённое на материнской плате, потом осуществляют дальнейший запуск операционной системы и обеспечивают взаимодействие всех компонентов компьютера. В современных компьютерах некоторые платы (видеокарта, звуковая карта и т.п.) имеют свои микросхемы BIOS на материнской плате расширения (кроме основной микросхемы BIOS). При настройке основного BIOS можно разрешить или запретить использование BIOS плат расширения. В функции основной BIOS входят:

  • тестирование компьютера с помощью специальных тестовых программ при включении питания;
  • поиск и подключение к системе других BIOS, которые расположены на платах расширения;
  • распределение ресурсов между компонентами компьютера.

Системное программное обеспечение (System Software) — это программы и программные комплексы для работы компьютера и телекоммуникационного оборудования. Системное программное обеспечение служит:

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

Системное программное обеспечение (СПО) по сути выполняет функции «организатора» всех компонентов ПК, а также подключенных к нему периферийных устройств. Системное программное обеспечение должно быть надежным, технологичным, удобным и эффективным в использовании. Подразделяется СПО на базовое и сервисное.


Базовое программное обеспечение, как правило, приобретается вместе с компьютером, а сервисное может быть приобретено дополнительно.

Прикладное программное обеспечение (appliation program pakage) − комплекс связанных между собой программ, предназначенных для решения конкретных задач определённой предметной области, написаны для пользователей или самими пользователями, например, экспертная система или программа создания списков рассылки. Это самый многочисленный класс программных продуктов.

Инструментарий технологий программирования (ИТП) облегчает процесс создания новых программ для компьютера. С помощью ИТП выполняется разработка новых программ, т.к. данный инструментарий содержит специализированные программные продукты. Эти продукты являются инструментальными средствами разработчика и должны поддерживать все технологические этапы процесса создания (проектирование, программирование, отладку и тестирование) новых программ. Система программирования включает в себя следующие программные компоненты: редактор текста, транслятор с соответствующего языка, компоновщик (редактор связей), отладчик, библиотеки подпрограмм. Важно знать и понимать, что любой ИТП может работать только в той ОС, под которую он создан, но при этом он позволяет разрабатывать программное обеспечение и под другие ОС.

ИТП делится на следующие подкатегории:

  1. Средства для создания приложений. Они включают в себя интегрированные среды для разработчиков программ, необходимые для выполнения работ по созданию программ, и локальные средства, которые нужны для выполнения отдельных работ по созданию этих программ;
  2. СASE-технологии (Сomputed Aided Software Engineering) – это система-конструктор программ с помощью компьютера, в которую входят методы анализа, проектирования и создания программных систем. Предназначены СASE-технологии для автоматизации процессов разработки и реализации информационных систем. Это целый программный комплекс, который автоматизирует весь технологический процесс (анализ, проектирование, разработка и сопровождение сложных программных систем).

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

Соотношение между необходимыми и имеющимися на рынке программными продуктами меняется очень быстро. Даже традиционные программные продукты непрерывно развиваются. Например, операционные системы могут моделировать те виды человеческой деятельности, которые всегда считались интеллектуальными. Появились программы, классифицировать которые по привычным критериям сложно, а порой и невозможно, программа − электронный собеседник, например, или компьютерное зрение, которое связано ещё и с робототехникой, или область машинного обучения, к которой относится достаточно большой класс задач на распознавание образов (распознавание символов, рукописного текста, речи, анализ текстов).

Можно сказать, что на сегодняшний день более или менее определённо можно выделить следующие группы ПО:

  • операционные системы и их оболочки (текстовые или графические);
  • системы программирования (отладчики, трансляторы, библиотеки подпрограмм и т.д.);
  • инструментальные технологические системы;
  • интегрированные программные пакеты;
  • системы машинной графики (растровая, векторная, 3D-графика, САПР);
  • динамические электронные таблицы;
  • системы управления базами данных (СУБД).

В заключение можно сказать, что почти всякая классификация не является единственно возможной.

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

Основные средства, используемые на разных этапах разработки программ

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

  1. Проектирование приложения.
  2. Реализация программного кода приложения.
  3. Тестирование приложения.

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

На этапе проектирования приложения в зависимости от сложности разрабатываемого программного продукта, напрямую зависящего от предъявляемых требований, выполняются следующие задачи проектирования:

  1. Анализ требований.
  2. Разработка архитектуры будущего программного обеспечения.
  3. Разработка устройств основных компонент программного обеспечения.
  4. Разработка макетов Пользовательских интерфейсов.
  • BPMN (Vision 2003 + BPMN, AcuaLogic BPMN, Eclipse, Sybase Power Designer);
  • блок-схемы (Vision 2003 и многие другие);
  • ER-диаграмы (Visio 2003, ERWin, Sybase Power Designer и многие другие);
  • UML-диаграмы (Sybase Power Designer, Rational Rose и многие другие);
  • макеты, мат-модели и т.д.

Результаты анализа позволяют сформировать обоснованные требования к той или иной функциональности разрабатываемой программы и просчитать реальную выгоду от внедрения разрабатываемого продукта.

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

  • целевая платформа;
  • гибкость языка;
  • время исполнения проекта;
  • производительность;
  • поддержка и сообщество.

Аналогичный аргумент применим и для Web-сайтов. Они должны выглядеть и работать одинаково во всех браузерах. Использование тегов CSS3 и HTML5 без проверки совместимости с браузерами приведет к разному отображению и поведению сайта в разных браузерах.

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

Рассмотрите следующие вопросы, связанные с гибкостью:

  1. Можно ли использовать новую функциональность без подключения новой библиотеки?
  2. Если нет, доступна ли эта функциональность в библиотеке языка?
  3. Если эта функциональность не встроена в язык и не доступна в библиотеке, какие усилия нужно приложить для ее создания с нуля?

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

Время исполнения проекта очень зависит от размера кода. Теоретически, чем легче изучить язык и чем меньше объем кода, тем меньше это время.

Например, сайт управления контентом на PHP-сценариях можно разработать за несколько дней, в то время как создание кода сервлетов может занять несколько месяцев, при условии, что вы начали изучать оба языка с нуля.

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

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

Выбор языка программирования. В большинстве случаев никакой проблемы выбора языка программирования реально не существует. Язык может быть определен:

Если же все-таки выбор языка реально возможен, то нужно иметь в виду, что все существующие языки программирования можно разделить на следующие группы:

  • универсальные языки высокого уровня;
  • специализированные языки разработчика программного обеспечения;
  • специализированные языки пользователя;
  • языки низкого уровня.

В группе универсальных языков высокого уровня безусловным лидером на сегодня является язык С (вместе с C++). Действительно различные версии С и C++ имеют целый ряд очень существенных достоинств:

Все это сделало С и C++ основными языками, используемыми для создания операционных систем, и, в свою очередь, служит для них дополнительной рекламой. Однако С и C++ имеют и серьезные недостатки:

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

Альтернативой С и C++ среди универсальных языков программирования, используемых для создания прикладного программного обеспечения, на сегодня является Pascal, компиляторы которого в силу четкого синтаксиса обнаруживают помимо синтаксических и большое количество семантических ошибок. Версия Object Pascal, использованная в среде Delphi, сопровождается профессиональными библиотеками классов, упрощающими ведение больших разработок, в том числе и требующих использования баз данных, что делает Delphi достаточно эффективной средой для создания приложений Windows.

Кроме этих языков к группе универсальных принадлежат также Basic, Modula, Ada и некоторые другие. Каждый из указанных языков, так же, как C++ и Pascal, имеет свои особенности и, соответственно, свою область применения.

Специализированные языки разработчика используют для создания конкретных типов программного обеспечения. К ним относят:

  • языки баз данных;
  • языки создания сетевых приложений;
  • языки создания систем искусственного интеллекта и т. д.

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

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

В настоящее время языки типа Ассемблера обычно используют:

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

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

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

Наиболее часто используемыми являются визуальные среды Delphi, C++ Builder фирмы Borland (Inprise Corporation), Visual C++, Visual Basic фирмы Microsoft, Visual Ada фирмы IBM и др.

В общем случае, если речь идет о выборе между этими средами, то он в значительной степени должен определяться характером проекта.

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

  1. Тестирование на отказ и восстановление.
  2. Функциональное тестирование.
  3. Тестирование безопасности.
  4. Тестирование взаимодействия.
  5. Тестирование процесса установки.
  6. Тестирование удобства пользования.
  7. Конфигурационное тестирование
  8. Нагрузочное тестирование.

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

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

Программное обеспечение (Software)- неотъемлемая часть ЭВМ. Оно является логическим продолжением технических средств ЭВМ, расширяющие их возможности и сферу использования.

Программное обеспечение - это совокупность программ, выполненных вычислительной системой.

Существует три категории программного обеспечения (Software):

1. Системное программное обеспечение - комплекс программ, определяющее на компьютере системную среду и правила работы в ней. Осуществляет

· управление ресурсами ЭВМ.

· создание копий используемой информации.

· проверку работоспособности устройств компьютера.

· выдачу справочной информации о компьютере и др.

Системное программное обеспечение состоит из

  • Операционной системы
  • Диалоговых (операционные) оболочки
  • Сервисных программ (утилит)

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

Диалоговые (операционные оболочки) -программы, выполняющие роль посредника между пользователем и программным обеспечением компьютера

Функции:

• Облегчение для пользователя выполнения файловых операций (быстрый поиск, копирование, удаление и пр.);

• Более удобный запуск приложений;

• Возможность более быстрого перехода от одного приложения к другому при многозадачном режиме работы.

Сервисные программы (утилиты)специальные программы обслуживающего (сервисного) характера:диагностические программы; программы обслуживания дисков; программы для работы с CD / DVD ; архиваторы ; антивирусные программы и др.

2. Прикладное программное обеспечение, непосредственно обеспечивающие выполнение необходимых пользователям работ. Каждая прикладная среда предназначена для создания и исследования определенного вида компьютерного объекта.

· ППО общего назначения

Набор прикладных программ, полезных большинству пользователей независимо от их профессиональных интересов.

• Текстовые редакторы и процессоры

• WordPad, MS Word, MS Publisher, Promt, Сократ

• Графические редакторы и графические пакеты

• Paint, MS PhotoDraw, Corel Xara, Corel Draw, Adobe Photoshop

• Системы управления базами данных (СУБД) MS Access

• Табличные процессоры MS Excel

• Пакеты мультимедийных презентаций MS PowerPoint, Movie Maker

• Коммуникационные программы Internet Explorer, Mozilla Firefox, Opera, MS Outlook

• Компьютерные игровые программы

• ППО специального назначения

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

• Музыкальные и звуковые редакторы

• Системы автоматизированного проектирования (САПР)

• Электронные образовательные издания и ресурсы

3. Инструментальные программные системы, облегчающие процесс создания новых программ для компьютера. Этот класс программ предназначен для создания системного и прикладного программного обеспечения.

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

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

· компилятор или интерпретатор;

· интегрированная среда разработки;

· средства создания и редактирования текстов программ;

· обширные библиотеки стандартных программ и функций;

· отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;

· дружественная" к пользователю диалоговая среда;

· многооконный режим работы;

· мощные графические библиотеки; утилиты для работы с библиотеками;

· встроенная справочная служба;

· другие специфические особенности.

Популярные системы программирования – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.




Транслятор (англ. translator — переводчик) — это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

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

Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

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

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

Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.

Программное обеспечение (Software)- неотъемлемая часть ЭВМ. Оно является логическим продолжением технических средств ЭВМ, расширяющие их возможности и сферу использования.

Программное обеспечение - это совокупность программ, выполненных вычислительной системой.

Существует три категории программного обеспечения (Software):

1. Системное программное обеспечение - комплекс программ, определяющее на компьютере системную среду и правила работы в ней. Осуществляет

· управление ресурсами ЭВМ.

· создание копий используемой информации.

· проверку работоспособности устройств компьютера.

· выдачу справочной информации о компьютере и др.

Системное программное обеспечение состоит из

  • Операционной системы
  • Диалоговых (операционные) оболочки
  • Сервисных программ (утилит)

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

Диалоговые (операционные оболочки) -программы, выполняющие роль посредника между пользователем и программным обеспечением компьютера

Функции:

• Облегчение для пользователя выполнения файловых операций (быстрый поиск, копирование, удаление и пр.);

• Более удобный запуск приложений;

• Возможность более быстрого перехода от одного приложения к другому при многозадачном режиме работы.

Сервисные программы (утилиты)специальные программы обслуживающего (сервисного) характера:диагностические программы; программы обслуживания дисков; программы для работы с CD / DVD ; архиваторы ; антивирусные программы и др.

2. Прикладное программное обеспечение, непосредственно обеспечивающие выполнение необходимых пользователям работ. Каждая прикладная среда предназначена для создания и исследования определенного вида компьютерного объекта.

· ППО общего назначения

Набор прикладных программ, полезных большинству пользователей независимо от их профессиональных интересов.

• Текстовые редакторы и процессоры

• WordPad, MS Word, MS Publisher, Promt, Сократ

• Графические редакторы и графические пакеты

• Paint, MS PhotoDraw, Corel Xara, Corel Draw, Adobe Photoshop

• Системы управления базами данных (СУБД) MS Access

• Табличные процессоры MS Excel

• Пакеты мультимедийных презентаций MS PowerPoint, Movie Maker

• Коммуникационные программы Internet Explorer, Mozilla Firefox, Opera, MS Outlook

• Компьютерные игровые программы

• ППО специального назначения

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

• Музыкальные и звуковые редакторы

• Системы автоматизированного проектирования (САПР)

• Электронные образовательные издания и ресурсы

3. Инструментальные программные системы, облегчающие процесс создания новых программ для компьютера. Этот класс программ предназначен для создания системного и прикладного программного обеспечения.

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

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

· компилятор или интерпретатор;

· интегрированная среда разработки;

· средства создания и редактирования текстов программ;

· обширные библиотеки стандартных программ и функций;

· отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;

· дружественная" к пользователю диалоговая среда;

· многооконный режим работы;

· мощные графические библиотеки; утилиты для работы с библиотеками;

· встроенная справочная служба;

· другие специфические особенности.

Популярные системы программирования – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.




Транслятор (англ. translator — переводчик) — это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

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

Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

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

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

Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.

Читайте также: