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

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

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

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

Добавлен: 28.03.2023

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

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

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

Интегрированная среда разработки обычно включает в себя:

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

Для одного и того же языка могут существовать разные среды разработки. Например, для языка С есть среда TurboC и BorlandC [7].

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

2.1. Си его разновидности

Си (англ. C) — компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Согласно дизайну языка, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном программном обеспечении для множества устройств — от суперкомпьютеров до встраиваемых систем. Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.

Си++ [C++] - Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США).

C# (C Sharp) – “Си Шарп”: объектно-ориентированный язык программирования, о разработке которого в 2000 г. объявила фирма Microsoft. По своему характеру он напоминает языки C++ и Java и предназначен для разработчиков программ, использующих языки C и С++ для того, чтобы они могли более эффективно создавать Интернет-приложения. Указывается, что C# будет тесно интегрирован с языком XML [1].


2.2. Паскаль

Паскаль [PASCAL - акроним с французского – Program Appliqueala Selectionetla Compilation Automatique de la Litterature] - Процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского математика XVII века Блеза Паскаля.

В своей начальной версии Паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие его доработки позволили сделать его хорошим универсальным языком, широко используемым в том числе для написания больших и сложных программ. Существует ряд версий языка (например, ETH Pascal, USD Pascal, Turbo Pascal) и систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland (США).

Delphi является «наследником» языка Паскаль; основные операторы в этих языках одинаковы. Но Delphi имеет средство для работы с различными графическими объектами (создания форм, кнопок, меню), а также для обработки сложных структур данных. Поэтому он очень популярен при разработке различных Windows- приложений [1]. По настоящее время широко используется в учебных целях как первый язык программирования, это связано с тем, что его простой синтаксис и очень близкая к естественному языку семантика позволяют максимально снизить порог вхождения для начинающих изучать программирование.

2.3. Бейсик

Бейсик [BASIC - Beginner’sAll-purposeSymbolicInstructionCode] - Язык программирования высокого уровня, разработанный в 1963 - 1964 гг. в Дартмутском колледже Томасом Куртом и Джоном Кемени.

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

Большинство версий Бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии Бейсика позволяют использовать для этой цели трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных приложений для систем уровня предприятий [1].


3. Выбор инструментов разработки

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

-создавать интерфейс, используя стандартные компоненты;

-передавать управление процессам, в зависимости от состояния системы;

-создавать оболочки для баз данных, как и сами базы данных;

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

Современные средства разработки характеризуются параметрами:

-поддержка объектно-ориентированного стиля программирования;

-возможность использования CASE-технологий, как для проектирования разрабатываемой системы, так и для разработки моделей реляционных баз данных;

-использование визуальных компонент для наглядного проектирования интерфейса;

-поддержка БД.

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

- название, версия, фирма производитель, под управлением каких ОС функционирует (зависимость от платформы);

- подход к разработке программного обеспечения (структурный, объектно-ориентированный)

- механизмы доступа к БД (например ADO.NET, LINQ, IBX [4]);

- утилиты для работы с БД;

- поддержка стандарта языка SQL;

- наличие компонент для работы с БД (невизуальные и визуальные компоненты);

- наличие компонент построения отчетов и диаграмм;

- поддержка графического интерфейса пользователя (Таких как оконный интерфейс Windows);

- средства поддержки транзакций (параллельная работа нескольких пользователей с БД);

- простота/сложность работы с инструментальным средством;

- возможность создания запускаемого файла.

3.1. Выбор языка разработки

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


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

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

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


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

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

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

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

Целевая платформа;

Гибкость языка;

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

Производительность;

Поддержка и сообщество.

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

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

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

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

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

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