Локальные средства для разработки программ. Эти средства на рынке программных продуктов наиболее представительны и включают языки и системы программирования, а также инструментальную среду пользователя.
Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.
Средства для создания приложений - совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ.
Языки программирования, если в качестве признака классификации взять синтаксис образования его конструкций, можно условно разделить на классы:
* машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
* машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);
* алгоритмические языки (algorithmic language) - не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);
* проблемно-ориентированные языки (universal programming language) - языки программирования для решения задач определенного класса (Лисп, Java и др.);
* интегрированные системы программирования.
Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования, и объектно-ориентированные языки, поддерживающие понятие объектов, их свойств и методов обработки.
Язык машинных кодов в настоящее время практически не используется из-за громоздкости программ и трудоемкости программирования.
Язык ассемблера, по существу, аналогичен машинному языку компьютера, но он представлен в форме, более понятной людям. Важнейший момент языка ассемблера состоит в том, что программист записывает отдельные подробнейшие инструкции по выполнению программы. Разработка программы на этом языке оказывается длительным и утомительным процессом. Однако полученные программы отличаются высокой эффективностью: они короче и быстрее. Кроме того, программист может дать компьютеру команду на выполнение более узких, специфичных действий, а другие языки (кроме машинных кодов) не позволяют программистам использовать все возможности компьютера. Этот язык в настоящее время в основном используется для написания драйверов - программ управления устройствами (в основном это драйверы нестандартных устройств, т.к. драйверы стандартных устройств включены в состав операционных систем).
Языки высокого уровня (ЯВУ) лишены громоздкости языка машинных кодов и менее подвержены ошибкам языка ассемблера. ЯВУ содержат специальные программы – трансляторы (компиляторы), которые переводят программу, написанную на языке высокого уровня, на язык машинных команд, понятный компьютеру. Языки высокого уровня реализуют две идеи: объединение многих машинных команд в одну команду (оператор программы) и устранение некоторых тонких деталей, которые влияют на работу компьютера, - это не относится к задаче программиста (например, адреса ячеек оперативной памяти, назначение регистров и т.п.).
В настоящее время предпочтение отдаётся таким языкам, как DELPHI (основан на языке Паскаль), С++ Builder, Visual C (основаны на языке С), Visual Basic (основа - язык Бейсик).
Программа, подготовленная на языке высокого уровня, проходит:
1) этап трансляции, когда происходит преобразование исходного кода программы (source code) в объектный код (object code), т.е. осуществляется перевод на язык машинных кодов;
2) этап компоновки, когда происходит обработка объектного кода редактором связей - специальной программой, осуществляющей построение загрузочного модуля (load module), пригодного к выполнению (рис. 6.5).
Трансляция может выполняться с использованием средств компиляторов (compiler) или интерпретаторов (interpreter). Компиляторы транслируют всю программу, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняют пооператорную обработку и выполнение всей программы.
Существуют специальные программы, предназначенные для трассировки и анализа выполнения программ, так называемые отладчики (debugger). Лучшие отладчики позволяют осуществить трассировку (отслеживание выполнения программы в пооператорном варианте), идентификацию места и вида ошибок в программе, «наблюдение» за изменением значений переменных, выражений и т.п.
Системы программирования (programming system) включают:
· компилятор;
· интегрированную среду обработки, включающую текстовый редактор для ввода и корректировки программ;
· отладчик;
· средства оптимизации кода программы;
· набор библиотек (возможно с исходными текстами программ);
· редактор связей;
· сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;
· справочные системы;
· документатор исходного кода программы;
· систему поддержки и управления проектом программного комплекса (осуществляет отслеживание изменений, выполненных разработчиками программы, поддержку версий программы с автоматической разноской изменений, получение статистики о ходе работ проекта);
Примером такой системы программирования может служить система Турбо Паскаль американской фирмы Borland.
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими как:
· библиотека функций, процедур, объектов и методов обработки;
· макрокоманды;
· языковые макросы;
· программные модули-вставки;
· генераторы приложений;
· языки запросов высокого уровня и т.п.
Интегрированные среды разработки программ являются дальнейшим развитием средств разработки программ, которые объединяют набор средств для комплексного их применения на всех технологических этапах создания программы. Основное назначение инструментария данного вида - повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложения для архитектуры клиент - сервер, запросов и отчетов.
Примером такой среды является система Delphi, в активе которой разработчик программ имеет:
· объектно-ориентированный язык программирования;
· высокопроизводительный компилятор;
· средства наглядного (визуального) создания программ;
· специальная технология работы с базами данных;
· принцип “открытой” системы: возможность добавления новых средств и перенос на другие платформы.
Дата: 2018-12-28, просмотров: 434.