Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Основные термины).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 113

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

5. Написание программного кода – представляет собой  запись алгоритмов на конкретном языке программирования. При этом целесообразно использование современных интегрированных сред разработки, что позволяет повысить скорость процесса разработки [8].

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

7. Анализ полученных результатов – заключается в сопоставлении результатами наблюдений с результатами вычислений.

8. Внедрение - передача программы заказчику для эксплуатации.

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

Согласно стандарту ISO 9126, критериями качества программного обеспечения (ПО) являются:

Функциональность – способность ПО выполнять набор действий, который в полной мере удовлетворяет заданным потребностям пользователя [3].

Надежность – способность ПО с высокой вероятностью безотказно выполнять реализованные функции в течение конкретного периода времени и в заданных условиях [20].

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

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

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

Мобильность – способность ПО к корректному переносу из одного окружения или аппаратной платформы на другую [9].

На практике [16], к наиболее часто выделяемым критериям оценки качества программного обеспечения относятся:

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

2. Качество продукта: функциональность, удобство использования, надежность, безопасность, эффективность.


Для оценки качества продукта могут быть применены различные существующие методы: white-box и black-box тестирование, динамический и статический анализ и обзор кода.

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

Современные интегрированные среды разработки

MicrosoftVisualStudio – это один из встроенных сред разработки, которая изобретена на С++ и С#, поддерживается Windows OS. Эта среда разработки переведена на 10 языков (кроме того и на русский язык). В Visual Studio автор способен осуществлять разработку вебсайтов, интернет-служб, писать консольные дополнения, а также дополнения с графичным интерфейсом. Кроме того VS поддерживает различного семейства дополнений. Самые известные дополнения — это Re Sharper (осуществляет исследование ошибок в коде во время написания кода программы разработчиком, вплоть до компиляции); Visual Assist (в различии с Re Sharper поддерживает также и С++); AnkhSVN (применяет в Visual Studio систему контролирования версий, что носит наименование Subversion) [14, 5].

Достоинства: Понятный интерфейс среды разработки, удобность, автоматическое обнаружение ошибок в коде [10].

Недостатки: Начинающему программисту сложно понять.

Среда распространения - Россия, Китай, Германия, Франция, Португалия, Италия, Япония, Испания и Корея.

Geany – это интегрированная среда разработки программ. Имеет поддержку ОС Linux, а также на Mac Os и на Windows. Функционирует с 32 языками (также и с русским языком) [15]. Состав Geany не содержит компилятор. Его можно установить как дополнение. Поддерживается многими языками программирования, среди которых наличествуют классический С, С++ и С#.

Достоинства: Легкость и удобство, подсветка исходного кода, возможность включать дополнения [1].

Недостатки: Не имеет свой компилятор.

Komodo или ActiveStateKomodo — это среда разработки, написанная на JavaScript, XUL, Python. Интерфейс данной среды только на aнглийском языке. Функционирует на операционных системах: Os Linux, Windоws и Mac Os [6].

Имеет поддержку 10 языков программирования, среди которые присутствуют: PHP, Ruby, HTML5.


Достоинства: Дополнение Code Explorer позволяет просматривать объектное дерево скрипта или библиотеки, среда является кроссплатформенной, удобный отладчик с возможностью удаленной отладки, возможность настроить интерфейс среды «под себя» [10].

Недостатки: Высокая стоимость, поддерживает мало языков программирования, сильно загружает компьютер (а именно оперативную память), является сложным для понимания.

Kylix - это интегрированная среда. Работает на OS Linux. Работает с С, С++ и ObjectPascal [11].

В данной среде есть возможность писать приложения веб-служб.

Kylix выпускался в трёх пакетах. Эти пакеты: Enterprise Edition — включал в себя сто девяносто компонентов (являлся самым большим и самим дорогим пакетом программы); Professional Edition (более дешевый вариант, который включал в себя около 165 компонентов); Open Edition — бесплатный пакет программы, содержащий в себе 75 компонентов, в нём отсутствует средства для работы с базами данных [2].

Обновленная версия Kylix 2, в отличии от Kylix работала гораздо быстрее. Например, Kylix 1 осуществлял сортировку пузырьком массива из 115 элементов полторы минуты, Kylix 2 — одну секунду.

В 2002 году данную среду разработки прекратил поддерживать разработчик.

Достоинства: Удобен в переносе написанного с одной операционной системы на другую.

Недостатки: Данная среда больше не поддерживается разработчиком.

Распространена в основном в Европейских странах и США, из-за того что разработчик (Borland) перестал поддерживать Kylix — становится всё менее популярной и не востребованной [5, 7].

Netbeans – это интегрированная среда разработки ПО. Была реализована на программном языке Java. Эта среда разработки высокого качества. Умеет работать на нескольких операционных системах, то есть является кроссплатформенной. Работает более чем с пятью программными языками [13].

Достоинства: Является бесплатной, присутствует система контроля версий, подсветка синтаксиса, возможно переименовывать переменную/класс одним кликом, в том случае если вручную переименовывать слишком долго (автоматизированное переименование), имеется возможность форматирования кода по CodeStyle, разработчиком среда постоянно совершенствуется, улучшается [12].

Недостатки: Временами в среде разработки возникают проблемы с кодировкой, долгий запуск программы.

Распространена во многих странах, в силу того что является удобной и бесплатной.

Eclipse — ещё одна интегрированная среда разработки ПО. Написана на языке Java в две тысячи третьем году. Также является кроссплатформенной. За счёт присоединяемых к этой среде дополнений — имеется возможность создавать программные продукты более чем на пяти языках программного кода [1, 8].


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

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

Распространена во многих странах, пользуется популярностью [6].

Таким образом можно отметить, что сведения среды разработки про-граммного обеспечения (либо аналогичные) можно реализовывать весь цикл разработки программного обеспечения. Однако имеется также встроенные среды, которые предусмотрены для одного программного языка. К примеру подобная среда как Visual Basic [15].

Для значительных проектов в среду разработки должны быть внедрены дополнения, такие как: файловый менеджер, интегрированная среда разработки ПО, PlSql (применяется и для работы с СУБД и как инструмент отчётов), средство Cristal Reports (создание отчётов), механизм StarTeam (ведение журнала версий разрабатываемого продукта).

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

3. Критерии выбора среды и языка программирования

3.1.Основы выбора языка программирования

При выборе языка программирования нужно учитывать множество факторов. Например, если при разработке динамической Web-страницы вы в качестве наилучшего варианта выберите JavaServer Pages (JSP)/сервлеты, другие могут предпочесть PHP или аналогичный язык сценариев. Не существует какого-то одного языка, который является наилучшим выбором. Можно отдать предпочтение определенным факторам, таким как производительность и безопасность корпоративных приложений, по сравнению с другими факторами, такими как количество строк кода. Любое решение сопряжено с какими-то компромиссами [4, 2].


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

При выборе языка для персонального проекта можно положиться на свои личные предпочтения. Здесь может оказаться важным количество строк кода; очевидным выбором будет язык, позволяющий выполнить задачу при помощи 10 строк кода вместо 20. Сначала хочется получить решение, а потом позаботиться об удобочитаемости или производительности.

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

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

Целевая платформа. Самым важным фактором является платформа, на которой программа будет работать. Рассмотрим для примера Java™ и C. Если программа написана на C и должна работать на машинах с Windows® и Linux®, потребуются компиляторы для платформ и два разных исполняемых файла. В случае с Java сгенерированного байт-кода будет достаточно для выполнения программы на любом компьютере, на котором установлена виртуальная Java-машина [8].

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

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

Можно ли использовать новую функциональность без подключения новой библиотеки?

Если нет, доступна ли эта функциональность в библиотеке языка?

Если эта функциональность не встроена в язык и не доступна в библиотеке, какие усилия нужно приложить для ее создания с нуля?

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