Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Основные понятия и эволюция языков программирования).pdf
Добавлен: 30.03.2023
Просмотров: 144
Скачиваний: 1
СОДЕРЖАНИЕ
1. Понятие, сущность и классификация языков программирования
1.1 Основные понятия и эволюция языков программирования
1.2 Классификация языков программирования
1.2.1 Языки программирования низкого уровня
1.2.2 Языки программирования высокого уровня
1.2.3 Объектно-ориентированные языки
1.2.4 Декларативные языки программирования
2. Понятие, сущность и виды сред программирования
2.1 Понятие и сущность среды программирования
2.2 Виды интегрированных сред разработки
3. Критерии выбора среды и языка разработки программ
Профилировщик – это средство измерения времени выполнения программных компонент с целью оптимизации критических компонентов.
Загрузчик копирует исполняемый файл с диска в память компьютера и осуществляет его запуск.
Цикл разработки программы представлен схемой на рисунке 5.
Рисунок 5 – Цикл разработки программы [11]
Охарактеризуем каждый этап.
На этапе анализа определяется то, что должна делать программа. При этом неважно как она должна это делать.
Далее на этапе спецификации дается описание требований к программе в формальном виде.
Под проектированием понимают разработку структуры программы и алгоритма ее исполнения.
Этап кодирования включает в себя следующие подэтапы: редактирование, компиляция и компоновка.
Компиляция – это преобразование программы или какого-либо ее модуля на языке программирования в программу или модуль на машинном языке или близком к машинному языке [16].
Компоновка – это процесс сборки исполняемого файла из полученных в результате раздельной компиляции объектных модулей с одновременным поиском и присоединением библиотечных процедур и подпрограмм.
В процессе компоновки программа непосредственно в оперативной памяти собирается в единое целое, т.е. в файл, готовый к работе (загрузочный модуль с расширением .ехе). Работу по компоновке программы выполняет компоновщик [23].
Компоновщики бывают двух видов [16]:
– которые готовят загрузочный файл, и этот файл может быть загружен при необходимости в оперативную память для исполнения;
– которые готовят загрузочный файл и сразу физически размещают версию машинного кода в памяти и передают управление на первую команду программы для исполнения.
На этапе тестирования идет подготовка эталонных входных и выходных данных, запуск программы и сравнение полученных данных с эталонными [23].
Отладка – это процесс локализации и исправления ошибок, выявленных во время тестирования.
Классификация ошибок в программе следующая:
– синтаксическая ошибка – нарушение синтаксических правил;
– ошибка времени выполнения (run-time error) – происходит при выполнении синтаксически верной программы, когда она производит какое-либо недопустимое действие (деление на ноль и т.п.);
– логическая ошибка – возникает при разработке и написании алгоритма, при этом программа не содержит ни синтаксических ошибок, ни ошибок времени выполнения, но делает не то, что хотел разработчик.
Выделяют следующие разновидности отладки [19]:
– «сухая» – по тексту (листингу) программы без применения отладчика, компьютера и др.;
– с использованием отладчика – специальной программы, которая позволяет отслеживать процесс выполнения программы по ее исходному листингу и просматривать текущие значения переменных.
2.2 Виды интегрированных сред разработки
Деление интегрированных сред разработки на отдельные группы условно, в основном оно происходит по трем факторам:
1. Функционал;
Некоторые среды разработки содержат встроенный справочник по языку, инструменты для разработки графического интерфейса пользователя, инспектор классов и др. Но эти функции не обязательны и могут присутствовать не в каждой среде [24].
2. Поддерживаемые языки;
Хотя и существуют среды, предназначенные для нескольких языков программирования (Embarcadero RAD Studio, Eclipse, Qt Creator, последние версии Xcode и NetBeans или Microsoft Visual Studio), обычно они предназначены для одного конкретного языка программирования (Delphi, Visual Basic, Dev-C++) [19].
3. Лицензионное или свободное программное обеспечение.
Некоторые интегрированные среды разработки являются свободно распространяемыми, но большинство из них – лицензионные, за использование которых придется платить.
Из универсальных языков программирования на сегодняшний день наиболее популярны следующие [32]:
– Бейсик (Basic) – для освоения требует начальной подготовки (например, на уровне общеобразовательной школы);
– Паскаль (Pascal) – требует специальной подготовки (например, школы с углубленным изучением информатики и программирования и/или технические ВУЗы);
– Си++, Ява (Java) – требуют высокой профессиональной подготовки (на уровне специализированных средних и высших учебных заведений).
Для каждого из этих языков имеется множество систем программирования, которые выпускаются различными фирмами и ориентированы на различные модели компьютеров, а также операционные системы.
Наиболее популярны следующие визуальные среды проектирования программ для операционной системы Windows [24]:
–для Basic – Microsoft Visual Basic;
–для Pascal – Borland Delphi;
–для C++ – Borland C++Bulider;
–для Java – Symantec Cafe.
Объектно-ориентированное (визуальное) программирование поспособствовало созданию технологии быстрой разработки приложений – RAD. Данная технология характерна для нового поколения систем программирования [33].
Первой средой с наиболее простым и наглядным интерфейсом стала среда Visual Basic. Она сформировала новый стиль взаимодействия программиста с компьютером, который позволяет создавать пользовательский интерфейс при помощи мыши, а не написания кода и последующей трансляции и выполнения программы, только после чего можно было посмотреть, как это выглядит на экране.
Хотя среда Visual Basic имела в свое время широкий спрос и помогла облегчить процесс программирования для неопытных разработчиков, она имеет множество недостатков. Основной из них – низкая производительность приложений при их выполнении, а также недостаточная строгость и объектная ориентированность языка, способствующая наиболее быстрой разработке, а не созданию мощных приложений [7].
Интерфейс Visual Basic 6.0 представлен на рисунке 6.
Рисунок 6 – Интерфейс Visual Basic 6.0
Delphi – это следующий шаг в развитии среды быстрой разработки. Данная среда лишена многих недостатков Visual Basic. Разработчики Delphi создали инструмент, который похож на среду Visual Basic, но заметно улучшенный [22].
Delphi базируется на языке Object Pascal. Компиляторы с языков семейства Паскаль фирмы Borland (начиная с Turbo Pascal 1.0) были одними из самых быстрых. На текущий момент Object Pascal – это объектно-ориентированный язык программирования с хорошим компилятором [26].
Ориентация приложений Delphi на язык Object Pascal не уменьшает возможности разработчика. Приложения Delphi могут также использовать разработки на других языках программирования, включая C++ и даже ассемблер. Можно применять библиотеки, созданные другими фирмами (например, Microsoft) или независимыми программистами. Можно реализовывать собственные разработки в виде самостоятельно выполняемых файлов или пакетов, поддерживающих выполнение ряда приложений.
Отдельно стоит упомянуть об одной из основных задач Delphi – разработке приложений для баз данных. В этой области Delphi занимает передовые позиции, работая с любыми системами управления базами данных [22].
Интерфейс Delphi 7 представлен на рисунке 7.
Рисунок 7 – Интерфейс Delphi 7
C++ Builder – это программный продукт для быстрой разработки приложений, интегрированная среда программирования, система для разработки программного обеспечения на языке программирования C++ [27].
Изначально C++ Builder разрабатывался компанией Borland Software, а затем ее подразделением CodeGear, сейчас принадлежащим Embarcadero Technologies.
C++ Builder объединяет комплекс объектных библиотек, компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки программы аналогичен Delphi и многим другим средам. Большинство разработанных в Delphi компонентов можно использовать и в C++ Builder, причем даже без модификации, но при этом обратное утверждение неверно [27].
Среда C++ Builder содержит инструменты, которые при помощи drag-and-drop делают разработку визуальной, что упрощает программирование, благодаря встроенному WYSIWYG – редактору интерфейса.
Следующей средой разработки является Symantec Cafe. Это первая интегрированная среда визуальной разработки для создания приложений для страниц сети интернет [32].
Symantec Cafe интегрирует комплект разработчика Java Development Kit компании Sun Microsystems в популярную многооконную среду визуальной разработки, созданную компанией Symantec с целью создания приложений для Windows 95 и Windows NT. Среда Symantec Cafe предлагает полнофункциональную систему управления проектами, а также мощные инструменты просмотра и редактирования кода, что обеспечивает значительное увеличение эффективности разработки приложений на языке Java для сети интернет.
Созданные с помощью Symantec Cafe приложения могут в последующем встраиваться в документы HTML и выполняться на различных платформах при использовании Java-соместимых программ просмотра.
Таким образом, во второй главе нами рассмотрены основные понятие среды программирования (разработки программ). Для этого описаны базовые и прочие компоненты среды, а также поэтапно рассмотрен цикл разработки программы, включающий анализ, спецификацию, проектирование, редактирование, компиляцию, компоновку, тестирование, отладку и внедрение. Изучены виды интегрированных сред разработки по функционалу, поддерживаемым языкам и лицензионному или свободному ПО. Также рассмотрены наиболее популярные среды Microsoft Visual Basic, Borland Delphi, Borland C++Bulider и Symantec Cafe.
3. Критерии выбора среды и языка разработки программ
Прежде всего, необходимо отталкиваться от решаемой задачи, т.е. какое программное приложение необходимо реализовать, для чего, какие функции оно должно выполнять.
Далее следует выбор технологии программирования (модульное, объектно-ориентированное программирование и т.д.).
Затем необходимо провести анализ языков программирования по различным критериям и выбрать наиболее подходящий под конкретные задачи.
Ну и на последнем этапе выбирается среда разработки, поддерживающая выбранный язык программирования.
То есть выбора среды и языка разработки программы происходит в четыре этапа (рисунок 8).
Определить задачи и функции разрабатываемой программы
Выбор технологии программирования
Выбор языка программирования
Сравнительный анализ сред разработки
Рисунок 8 – Этапы выбора среды и языка разработки программы
Рассмотрим данную задачу на конкретном примере.
Предположим нам необходимо создать информационную систему учета и анализа деятельности предприятия. При этом тип и род деятельности предприятия не важен, будь то магазин, школа или завод.
Определяем задачи:
– учет основных документов предприятия (продаж, выпуска продукции и т.п.);
– анализ деятельности предприятия посредством отчетности;
– планирование и контроль выполнения определенных функций, этапов процесса, деятельности в целом.
Перейдем к выбору технологии программирования. Предпочтительным является объектно-ориентированное программирование.
Основным достоинством объектно-ориентированного программирования является естественная декомпозиция программного обеспечения, значительно облегчающая разработку программы. Это приводит к полной локализации данных и интегрированию их с подпрограммами обработки, что позволяет вести независимую разработку отдельных объектов [31]. Также объектный подход предлагает способы организации программы, основанные на механизмах наследования, композиции, полиморфизма и наполнения. Данные механизмы позволяют создавать сложные объекты из сравнительно простых объектов, в результате чего увеличивается показатель повторного использования кода и появляется возможность создания библиотек классов [36].
Перейдем к выбору языка программирования. Из универсальных языков программирования на сегодняшний день наиболее популярны [32]:
– Бейсик (Basic);
– Паскаль (Pascal);
– Си++;
– Ява (Java).
Basic для разработки нашего приложения не подходит по причине недостаточной функциональности. Java тоже не подходит, так как ориентирован на разработку интернет-приложений. В первую очередь мы должны ориентироваться на работу с базами данных. Для этого идеальным вариантом являются Pascal и Си++.
Наиболее популярны следующие визуальные среды быстрого проектирования программ для выбранных языков программирования [24]:
–для Pascal – Borland Delphi;