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

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

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

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

Добавлен: 29.03.2023

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

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

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

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 без проверки совместимости с браузерами приведет к разному отображению и поведению сайта в разных браузерах.

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

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

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

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


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

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

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

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

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

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

Рассмотрим два варианта Web-приложения, написанных на Java и на Python. На основании данных тестирования можно прийти к заключению, что в одинаковой среде приложение, написанное на Java, должно работать быстрее, чем приложение, написанное на Python. А как насчет самой среды? Если средой является персональный компьютер или физический сервер, это справедливо, поскольку вычислительная мощность ограничена. А если взять Web-приложение, работающее в облачном сервисе, то такое приложение может использовать практически неограниченную процессорную мощность, и обе программы возвратят результаты почти за одно и то же время. Теперь основным фактором выбора будет количество строк кода и удобство обслуживания.

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

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