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

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

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

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

Добавлен: 27.04.2023

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

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

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

Еще одним языком программирования, имеющий популярность и ранее, но и в настоящее время используемый веб-разработчиками, является Perl, название которого расшифровывается «практический язык для извлечения данных и составления отчетов». Perl предоставляет достаточно широкие возможности для создания кратких и эффективных приложений и системных программ.

Предоставление хостинга для данного языка не предполагает особых возможностей. Хостинг с его поддержкой работает при помощи двух способов – CGI или mod_perl. Этот язык отличается быстродействием и надежностью. Для всех платформ доступны дистрибутивы Perl. При рассмотрении его в перспективе, можно сказать, что все планы связаны с выходом шестой версии языка и применение современных фреймворков на языке Perl, таких как Catalyst [2].

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

    1. Python.

Этот язык является языком программирования высокого уровня и применяется для разработки разноуровневых веб-приложений [6]. Его открытая разработка, легкость изучения и большое сообщество разработчиков являются ключевыми достоинствами интерпретируемого языка для скриптов. Python может использоваться для большинства задач и применяется такими корпорациями, как Google и Yandex. В связи с неограниченностью технологии, она может использоваться как в больших проектах, так и в мелких задачах, например, резервное копирование, чтение электронной почты и т.д.

На серверах для Python необходима установка плагинов, позволяющих работать с языком. Часто хостинг для данного языка необходим пользователям популярного фреймворка Django, позволяющий разрабатывать высокопрофессиональные приложения, шаблоны для сайтов и CMS [4].

Особенностями хостинга для Python являются:

  • Отдельный интерес к данному виду хостинга обозначен, в первую очередь, популярностью и интересом фреймворков Zope, Django, Pylons, TurboGears, web.py, непосредственно связанных с данным языком;
  • Достаточно широкая распространенность, в связи с тем, что практически каждый дистрибутив Unix имеет интерпретатор Python;
  • Процесс установки перечисленных выше фреймворков является не всегда возможной и зачастую сложной задачей, что является причиной препятствия развитию хостинга для Python.
    1. Ruby.

Язык программирования Ruby является также не менее известным, как и его фреймворк Ruby on Rails. Данный язык используется как в веб-разработке, так и в системном администрировании, функционируя в таких операционных системах как Linux, MS Windows и BSD, Mac OS X. Что касается фреймворка Ruby on Rails, он появился после самого языка и позволил создавать сайты с помощью Ruby. По структуре он схож с Perl, Smalltalk, Python, но имеет и свои специфические функции [2].


Такая комбинация применяется компаниями для разработки различных проектов и автоматизированных систем, решающих задачи бизнеса в виде учета, документооборота и т.д. [5].

Особенностями хостинга для Ruby и Ruby on Rails являются:

  • Способность поддержки баз данных MySQL, Firebird, PostgreSQL, IBM DB2, Oracle и Microsoft SQL Server, которые вполне могут мигрировать между собой;
  • Технология является достаточно требовательной к ресурсам сервера, на котором будет размещен проект;
  • Работает совместно с многими веб-серверами типа Apache или nginx+passenger;
  • Кроме самого интерпретатора Ruby on Rails подразумевает установку собственных компонентов системы;
  • Язык активно используется на западе, потому предложений хостинга для данной технологии там намного больше [4].
    1. Java.

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

Этот язык программирования изначально имел название Oak («Дуб») и применялся для программирования бытовых электронных устройств, после чего был переименован в Java и стал применяться для создания клиентских приложений и серверного программного обеспечения.

Данная платформа подразумевает комплекс технологий, предназначенных для серверов, которые исполняют приложения Java на клиентских компьютерах. Распространенные сервисы в Сети применяют в своей основе концепцию Java Enterprise Edition.

Назовем основные особенности хостинга для Java [4]:

  • Значительное количество полезных стандартных массивов, стеков и списков;
  • Унифицированный доступ к базам данных;
  • Легкость разработки многопоточных приложений;
  • Большое количество фильтров, возможность настройки ввода и вывода;
  • Наличие категорий для работы с запросами и ответами HTTP;
  • Реализовано автоматичное управление памятью.
    1. C#.

Данный язык является объектно-ориентированным и относится к семье языков с С-подобным синтаксисом, из них его синтаксис наиболее схож с С++ и Java [6].

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

    1. С++.

Язык С++ является одним из наиболее распространенных в мире компилируемым, статически типизированным языком программирования общего назначения. С помощью него были разработаны Google Chrome, Mozilia Firefox, Winamp, линейка продуктов Adobe. Также некоторые современные игры и операционные системы были созданы именно на основе С++ ввиду его быстродействия и компиляции [5].


    1. CSS.

CSS, или Cascading Style Sheets (каскадные таблицы стилей) является формальным языком описания внешнего вида документа, созданного с использованием языка разметки. Чаще применяется как средство описания, оформления внешнего вида веб-страниц, созданных с помощью языков разметки HTML и XHTML, но также может быть применен к любым XML-документам.

    1. С.

С является компилируемым статически типизированным языком программирования общего назначения [4], предшествующим появлению языков C++, Java, C#, JavaScript, Perl. Поэтому изучение данного языка способствует пониманию других. Имеет низкоуровневые возможности, позволяющие непосредственно работать с машинными ячейками, потому некоторые ученые относят язык к промежуточному, а не высокому уровню [6].

    1. Haskell.

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

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

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

3.1 Среда разработки программ. Характеристики, критерии выбора

Средой разработки программного обеспечения (ПО) называется совокупность программных средств, используемая для разработки программного обеспечения [2].

Простая среда содержит в себе редактор текста, компилятор и/или интерпретатор, отладчик и средства автоматизации сборки. Объединение всех этих компонентов в единый программный комплекс называется интегрированной средой разработки (Integrated development environment-IDE). Такая среда выражена одной программой, без выхода из которой можно произвести весь цикл разработки. В состав комплекса кроме перечисленных выше компонентов могут включаться средства управления проектами, система управления версиями, различные инструменты для облегчения разработки интерфейса пользователя, стандартные заготовки, упрощающие разработку задач, и т.д. В современных средах разработки, которые поддерживают объектно-ориентированную разработку ПО, также тоже содержится браузер классов, инспектор объектов и диаграмма иерархии классов. Несмотря на то, что есть среды разработки, созданные для нескольких языков (Eclipse, Microsoft Visual Studio), как правило, среда разработки все же предназначается для конкретного языка программирования [5].


В случае если IDE содержит в себе способность визуального редактирования интерфейса программы, она называется средой виртуальной разработки.

В некоторых случаях достаточно применять только одну интегрированную среду разработки, но чаще для крупных проектов в среду разработки включаются разнородные продукты разных фирм и версий [4]. Например, это файловый менеджер, набор вспомогательных утилит и пакетных файлов, С++Builder – как IDE, PLSQL Developer – для работы с СУБД Oracle, Cristal Reports – для формирования отчетов, StarTeam – для ведения версий и поддержки коллективной работы [4].

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

Все перечисленные выше понятия содержатся в технологии программирования, определяя ее инструментальное обеспечение [2].

История развития операционных сред тесно связана с историей развития вычислительной техники и базового ПО – операционных систем. Общая суммарная история вычислительной техники насчитывает чуть более 70 лет. Истории программных технологий около 35 лет, если брать за точку отсчета 1984 год согласно статье Кристофера Эберта. Термин «Программная инженерия» получил распространение 30 лет назад.

Серьезные изменения в области технологий были обусловлены применением алфавитно-цифровых, а затем графических дисплеев, разработкой операционной IBM OS/360, созданием микропроцессоров, появлением персональных ЭВМ, развитием Интернета [5].

Менялся метод общения программиста с ЭВМ. Первые появившиеся компьютеры вовсе не имели базового ПО. Программа могла вводиться вручную с пульта, а позднее – с помощью перфолент и перфокарт. Первые терминалы с электронно-лучевыми трубками (дисплеями) были созданы не для программистов, а для операторов ЭВМ. Программисты же работали с ЭВМ опосредованно, сдавая на вычислительный центр колоды перфокарт. Основным языком описания технологических процессов был язык управления заданиями (в ОС ЕС это JCL - Job Control Language) [5].

Оператором ЭВМ считалась отдельная специальность, уже практически не встречающаяся в настоящее время. Оператор выполнял функции управления многозадачной операционной системой, имел возможность влиять на ход выполнения задач, их запуск и завершение, отвечать на запросы, готовить устройства ввода-вывода. Термин «Операционная среда» появился именно в то время, и под ним понималась совокупность компьютерных программ, обеспечивающих оператору возможность управлять вычислительными процессами и файлами.


В период начала 70-х гг. произошел массовый переход на язык программирования, появились операционные системы первого поколения. С ростом мощности ЭВМ стал возможным коллективный доступ к ее ресурсам, и дисплей стал инструментом программиста [4].

Невзирая на развитие методов общения с ЭВМ, для программиста оставался неизменным основной цикл разработки и отладки программ: редактирование программы – компиляция – сборка – выполнение программы – анализ ошибок – редактирование. При оценке эффективности операционной среды следует всегда учитывать данный цикл [2].

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

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

Любая среда дает возможность производить настройку и адаптацию под определенные требования: изменение интерфейса, режимов работы, назначения горячих клавиш, установка «плагинов» и др. Каждый опытный программист владеет собственными приемами разработки и вспомогательными средствами, имеет свои вкусы и предпочтения. Применяя настройки, программист способен сделать работу в среде более удобной для себя, и, следовательно, более эффективной. По сути, он проецирует свою модель разработки на модель среды, что особенно важно, когда среди инструментов существуют программы с отличающимся интерфейсом (например, разное назначение горячих клавиш) [5].

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

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