Файл: Основные структуры алгаритмов:сравнительный анализ и примеры их использования.pdf

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

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

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

Добавлен: 02.04.2023

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

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

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

Для удобства программистов множество регулярно требуемых функций в среде Perl реализовано в виде так называемых Perl-модулей. Эти модули "подключаются" к реализации языка и позволяют вместо разработки собственных функций для той или иной задачи вызывать библиотечные функции, созданные авторами модуля. Например, существуют модули для работы с графикой (сам по себе Perl не имеет никаких графических инструментов), модули для автоматизации обработки web-форм и взаимодействия с CGI. Общее количество Perl-модулей давно измеряется сотнями, но среди них есть несколько десятков, ставших более-менее стандартными.

Набор установленных (и доступных для пользовательских программ) на хостинг-площадке Perl-модулей часто определяется хостинг-провайдером. Впрочем, не так уж редко хостинг-провайдер позволяет клиенту устанавливать и свои дополнительные модули. Набор доступных Perl-модулей весьма актуален в тех случаях, когда при создании web-сайта планируется использовать готовое программное обеспечение на языке Perl. Дело в том, что для успешной работы этого программного обеспечения могут потребоваться Perl-модули, не установленные у хостинг-провайдера - и, как результат, программы не будут работать. Поэтому, прежде чем выбирать программное обеспечение для "запуска" на web-сайте, следует уточнить, что хостинг-площадка поддерживает требуемые модули.

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

Для обеспечения перенаправления результатов работы программы веб-серверу стал применяться стандарт интерфейса CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза»). Очень скоро стало ясно, возможностей универсальных языков программирования для создания динамических страниц недостаточно и стали появляться специализированные языки серверного программирования.

CGI-программа может быть написана на любом из следующих языков: AppleScript, C++, Fortran, PHP, Perl, TCL, Visual Basic, языке командного интерпретатора UNIX (shell) и т.д. Поскольку при создании Web-страниц разработчики имеют дело с текстом, файлами, сетевыми коммуникациями и двоичными файлами

Язык PHP (PHP - рекурсивный акроним словосочетания «PHP: Hypertext Preprocessor»), появившись всего лишь в конце 90-х прошлого века, проделал такой путь развития, что стал стандартом де-факто для написания серверных скриптов (программ, выполняющихся на стороне сервера и показывающих результат своей работы пользователю в привычном для него виде - веб-страницы). Как результат PHP из набора скриптов стал полноценным объектно-ориентированным языком программирования, позволяющим создавать мощные веб-приложения.


Первый вариант языка был создан в 1994 году программистом из Дании Расмусом Лердорфом. Первоначально сокращение расшифровывалось как Personal Home Page («Персональная домашняя страничка»). С помощью нового скриптового языка можно было создавать несложные сайты.

Новый этап в развитии проекта произошел в 1997, когда был заново переписан код интерпретатора. В следующем году вышла версия 3.0, php приобрел все черты мощного языка для web-разработок. Название стали расшифровывать как PHP: hypertext Preprocessor («ПХП: гипертекстовый препроцессор»). Разработчики свободного софта любят названия, которые содержат ссылки на самих себя.

Еще одна удачная версия – 5.0, она поддерживала xml и имела расширенные возможности для объектно-ориентированного программирования. Шестая версия должна была поддерживать кодировку Unicode, но проект получился неудачным и был заморожен. В конце 2015 года была официально запущена версия 7.0.

Фирма Microsoft для программирования на сервере стала продвигать язык ASP (от англ. -Active Server Pages - активные серверные страницы), а позже ее вариант для платформы .NET - ASP.NET.

Однако по мере проникновения веб-технологий в жизни обычных людей становилось все более очевидным различие между мощным красивым графическим пользовательским интерфейсом и неповоротливым текстовым интерфейсом веб-страниц. Ни один язык оказался не способен разрешить это противоречие в одиночку. Как результат конвергенции HTML, Javascript и XML в 2005 году появился "сплав" языков и технологий, получивший акроним AJAX (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML»). Суть нового подхода к построению интерактивных пользовательских интерфейсов веб-приложений заключается в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.

Глава 3 Сфера применения ООП

3.1 Применение ООП

ООП незаменимо при визуальном программировании, когда программа «набирается» из отдельных объектов, обладающих необходимыми настраиваемыми характеристиками.

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

использование более естественных с точки зрения обычной повседневной практики понятий, простота введения новых понятий;


упрощение разработки многократно используемых компонент приложений;

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

возможность создания библиотеки классов; в частности, библиотека визуальных компонент Delphi и является примером такой библиотеки [8];

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

возможность написания подпрограмм с различными наборами формальных параметров, но имеющих одно и то же имя;

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

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

ООП есть очень большой плюс: такой код удобнее поддерживать, изменять и обслуживать, так как он разбит на модули, которые проще воспринимаются визуально. Да, и ошибок меньше.   Кроме того, объектно-ориентированные языки программирования легче изучаются новичками. Взгляни на диаграмму – она отражает результаты анкетирования студентов, которые познакомились с обоими подходами к разработке.

Как видно, большинство из них выбрало именно ООП для более детального изучения.  

Рис 1 Выбор подхода к разработке

В настоящее время количество прикладных языков программирования , реализующих объектно-ориентированную парадигму, является наибольшим по отношению к другим парадигмам. В области системного программирования до сих пор применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования [11]. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.

3.2 Применение С++


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

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

3.3 Применение Perl

Наиболее широко Perl используется для разработки инструментов системного администрирования, однако в последнее время он получил огромную популярность в области разработки Интернет-приложений: CGI-сценариев, систем автоматической обработки электронной почты и поддержки узлов Web. В этом разделе мы кратко охарактеризуем возможности Perl в каждой из указанных областей.

Системная поддержка UNIX и Windows

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


Perl находит своих приверженцев и среди администраторов операционных систем семейства Windows. Многие задачи, особенно связанные с составлением статистических отчетов работы серверов локальных сетей Windows NT/2000, web-серверов IIS или рабочих станций, достаточно просто решаются написанием небольших Perl-сценариев, Правда, при этом приходится использовать функции стандартного пакета Win32, так как конфигурационная информация в этих операционных системах хранится в двоичных базах данных. Вот некоторые примеры задач, которые можно решать в этих операционных системах с помощью Perl:

проверка пользователей Windows NT на несоответствие их статуса и возможностей;

управление NT-сервисами из командной строки и дистанционно с локальной NT-машины;

получение статистических данных но отдельной NT-машине.

Кроме перечисленных традиционных задач администрирования, в настоящее время приходится решать также задачи, названные в классификации Пратта и Зелковица задачами контроля одной программы другой (например, регулярное резервное копирование файлов в полночь, ежечасная синхронизация времени, автоматический ответ на электронные письма во время отпуска, автоматическое тестирование программы после се успешной компиляции и т, д.). Подобные задачи автоматического запуска и управления выполнением программы называются процессами. Для их решения наиболее подходят так называемые языки сценариев. В системе UNIX shell-сценарии могут активизироваться при выполнении некоторых допустимых условий, что позволяет широко их использовать для управления процессами. Однако кроме командной оболочки shell для этих же целей можно использовать и другие языки сценариев, в том числе и Perl. Таким образом, для языка Perl открываются новые области применения, о которых его создатель Ларри Уолл даже и не подозревал.

Язык задействуется в широчайшем спектре сфер, к примеру:

управление различными компонентами ПО, в том числе разработанные на другом языке;

для написания отдельных приложений.

3.4 Применение Python

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

Системное программирование