Веб-приложениеВеб-приложениеВеб-приложение клиент-серверное приложение, в котором клиентом выступает браузер, а сервером веб- сервер. Логика веб-приложения.

Презентация:



Advertisements
Похожие презентации
Троицкий Д.И. Интернет-технологии1 ДИНАМИЧЕСКИЕ WEB-СТРАНИЦЫ СЕРВЕРНЫЕ СЦЕНАРИИ Лекция 9 Кафедра «Автоматизированные станочные системы» Dept. of Automated.
Advertisements

АНАСТАСИЯ ТКАЧУК PK11-PV TEKO 1 Языки программирования.
Языки, технологии и средства создания Web-сайтов. Компонентная структура. Выполнил Федорова Я.В., студентка СФУ ИППС 1 курс заочное отделение.
AJAX Выполнила: студентка группы ПИ-311 Газизова Влада.
Презентация по: информатике Ученицы 8 а класса МКОУ «Линевская СШ» ЛЕМАЕВОЙ ЭЛЬВИРЫ Преподаватель: СУШКОВ АЛЕКСАНДР ИВАНОВИЧ.
Учитель информатики Трашков О.Л.. Обработка информации в компьютере и управление всеми его устройствами осуществляется с помощью программ. Компьютер представляет.
Богданов Марат Робертович Современные веб-технологии. Подробный курс RIA-приложения.
История создания ОС. Семейство ОС MS Windows.. Операционная система базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами.
WEB- ТЕХНОЛОГИИ Лекция 1. WEB- ПРИЛОЖЕНИЯ 1 Особый тип программ, построенных по архитектуре « клиент - сервер » Основа получение запросов от пользователя.
Компьютерные технологии в метеорологии (Java-технологии) Чукин В. В.
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
Powerpoint Templates Page 1 Язык разметки гипертекста HTML.
Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования Алгоритмизация и программирование. Языки программирования.
Объектно-ориентированное программирование Карпов В.Э. Смолток. Лекция 4. Байт-код.
Операционные системы Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) комплекс управляющих и обрабатывающих программ, которые, с одной стороны,
Общие сведения об HTML. История развития html Основой даже самых продвинутых Интернет - технологий в настоящий момент является уже давно используемый.
JavaScript JavaScript – объектно-ориентированный скриптовый язык программирования, разрабатываемый компанией Sun Microsystems. Является диалектом языка.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Транксрипт:

Веб-приложение

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

Технические особенности Существенное преимущество построения Web приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создается один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.Microsoft WindowsMac OS XGNU/LinuxHTMLCSSDOM Другой (менее универсальный) подход заключается в использовании Adobe Flash, Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java или Flash реализациями на стороне клиента может приводить к различным осложнениям.Adobe FlashSilverlightJava-апплетов В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми» клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин «Богатое Интернет приложение» (англ. Rich Internet Applications).Богатое Интернет приложениеангл.Rich Internet Applications

Устройство веб-приложений Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».технологию «клиент-сервер» Клиентская часть реализует пользовательский интерфейс, формирует запросы к серверу и обрабатывает ответы от него.пользовательский интерфейс Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.веб-страницупротоколаHTTP Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.базы данныхсистема управления содержимымВикипедииMicrosoft WindowsGNU/Linux В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.Ajax Для создания веб-приложений на стороне сервера используются разнообразные технологии и любые языки программирования, способные осуществлять вывод в стандартную консоль.языки программированияконсоль НазваниеЛицензияВебсерверASPпроприетарнаяспециализированныйASP.NETпроприетарнаяспециализиров анныйC/C++свободнаяпрактически любойJavaсвободнаямножество, в том числе свободныхPerlсвободнаяпрактически любойPHPсвободнаяпрактически любойPythonсвободнаяпрактически любойRubyсвободнаяпрактически любойНа стороне клиента используется:ЛицензияВебсерверASPпроприетарнаяASP.NETCC++JavaсвободнаяPerlPHPPythonRuby Для реализации GUIGUI HTMLHTML, XHTML,CSSXHTMLCSS Для формирования и обработки запросов, создания интерактивного и независимого от браузера интерфейса: ActiveXActiveX,Adobe Flash, Adobe Flex, Java, JavaScript, SilverlightAdobe FlashAdobe FlexJavaJavaScriptSilverlight

Active Server Pages ASP (англ. Active Server Pages «активные серверные страницы») первая технология компании Microsoft, позволяющая динамически создавать веб-страницы на стороне сервера. ASP работает на операционных системах линейки Windows NT и на веб- сервере Microsoft IIS.англ.технологияMicrosoftвеб-страницысервераWindows NTвеб- сервереMicrosoft IIS ASP не является языком программирования это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования веб- страницы. Относительная популярность ASP основана на простоте используемых языковсценариев (VBScript или JScript) и возможности использования внешних COM-компонентов.языком программированиясценариевVBScriptJScriptCOM-компонентов Технология ASP получила своё развитие в виде ASP.NET новой технологии создания веб-приложений, основанной на платформе Microsoft.NET.ASP.NETвеб-приложенийMicrosoft.NET В настоящий момент (начало 2011) технология ASP, появившаяся в 1996 году, относится к разряду устаревших и заменена ASP.NET.

Синтаксис Страница на ASP это обычная страница HTML, со вставками, обозначенными ограничителями : То что находится внутри ограничителей это текст программы, интерпретируемый при запросе страницы. VBScript является языком по умолчанию, хотя возможно использование и JScript[источник не указан 565 дней] (или любого другого языка, если установлен соответствующий интерпретатор):[источник не указан 565 дней]

ASP.NET ASP.NET технология создания веб- приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft.NET и развитием более старой технологии Microsoft ASP. На данный момент последней версией этой технологии является ASP.NET 4.5[1].веб- приложенийвеб-сервисовМайкрософтMicrosoft.NETMicrosoft ASP[1] ASP.NET внешне во многом сохраняет схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе.NET и, следовательно, использует все новые возможности, предоставляемые этой платформой..NET ASP.NET не является платформой.

История ASP.NET После выпуска сервера Internet Information Services 4.0 в 1997 году, компания Microsoft начала исследовать возможность новой модели веб-приложения, которая удовлетворит жалобы на ASP, особенно связанные с отделением оформления от содержания, и которая позволит писать «чистый» код[2]. Работа по разработке такой модели была поручена Марку Андерсу, менеджеру команды IIS, и Скотту Гатри, поступившему на работу в Microsoft в Андерс и Гатри разработали первоначальный проект в течение двух месяцев, и Гатри написал код первоначального прототипа во время рождественских каникул 1997 года.[3]Internet Information ServicesMicrosoft[2]Скотту ГатриMicrosoft[3] Первоначальный проект назывался «XSP»; Гатри объяснил в интервью 2007 года что, «всегда спрашивают, что означает буква X. В то время она ничего не значила. XML начинается с нее; XSLT начинается с нее. Все клевое начинается с X, поэтому мы его так и назвали.»[2] Прототип XSP был написан на Java, так как на тот момент у Microsoft не было Java-подобной технологии. В то время уже предполагалось (небезосновательно, как выяснилось в дальнейшем), что лицензирование Java для Microsoft не будет продлено в 2003 году (в 2003 истекал срок выданной Sun Microsystems лицензии). В 1999 было решено построить новую платформу на основе Common Language Runtime (CLR), так как в нем как и в Java наличествовало программирование по принципам ООП, Сборка мусора и другие возможности[4]. Гатри описал это решение как «огромный риск», так как успех новой разработки был связан с успехом CLR, которая, как и XSP, находилась на ранней стадии разработки.[2]JavaMicrosoftJavaMicrosoftSun MicrosystemsCommon Language RuntimeJavaООПСборка мусора[4]

Принципы ASP.NET Хотя ASP.NET берёт своё название от старой технологии Microsoft ASP, она значительно от неё отличается. Microsoft полностью перестроила ASP.NET, основываясь на Common Language Runtime (CLR), которая является основой всех приложений Microsoft.NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, входящие в комплект.NET Framework (C#, Visual Basic.NET и JScript.NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кэш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию, и т. д.Common Language Runtime.NET FrameworkC#Visual Basic.NETJScript.NETкэшпарсингоптимизацию

Преимущества ASP.NET перед ASP Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки Значительно улучшенная обработка ошибок времени выполнения, с использованием блоков try..catch Пользовательские элементы управления (controls) позволяют выделять часто используемые шаблоны, такие как меню сайта Использование метафор, уже применяющихся в Windows-приложениях, например, таких как элементы управления и события Расширяемый набор элементов управления и библиотек классов позволяет быстрее разрабатывать приложения ASP.NET опирается на многоязыковые возможности.NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д. Возможность кэширования всей страницы или её части для увеличения производительности Возможность кэширования данных, используемых на странице Возможность разделения визуальной части и бизнес-логики по разным файлам («code behind») Расширяемая модель обработки запросов Расширенная событийная модель Расширяемая модель серверных элементов управления Наличие master-страниц для задания шаблонов оформления страниц Поддержка CRUD-операций при работе с таблицами через GridViewCRUD Встроенная поддержка AJAXAJAX ASP.NET имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах.

Perl Perl высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language «практический язык для извлечения данных и составления отчётов»[1]. Первоначально аббревиатура состояла из пяти символов и в таком виде в точности совпадала с английским словом pearl («жемчужина»). Но затем стало известно, что такой язык существует (см. PEARL (англ.)), и букву «a» убрали. Талисманом языка Perl является верблюд не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.язык программированияЛарри Уолломаббревиатуру[1]PEARLангл.верблюд Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе работа с регулярными выражениями, встроенная в синтаксис. Перл унаследовал много свойств от языков Си, AWK, скриптовых языков командных оболочек UNIX.регулярными выражениямиСиAWKкомандных оболочек UNIX

История Первые версии Ларри УоллЛарри Уолл начал разработку Perl в 1987 году, когда работал программистом в Unisys[2]. Версия 1.0 была выпущена и анонсирована в новостной группе comp.sources.misc 18 декабря 1987 года[3] как «замена для awk и sed».Unisys[2]новостной группе[3]awksed Perl 2 был выпущен в 1988 году. Основным нововведением в нём был переработанный механизм регулярных выражений. Perl 3, выпущенный в 1989 году, получил возможность обрабатывать потоки двоичных данных.регулярных выраженийдвоичных данных Изначально, единственной документацией для Perl была единственная (огромной длины) man-страница. В 1991 году была выпущена книга «Programming Perl» (известная многим программистам как «Верблюжья книга» (Camel Book) из-за изображения на обложке), которая, де-факто, стала стандартом языка. В то же самое время, версия языка была «поднята» до 4 не столько, чтобы указать на значительные изменения, сколько, чтобы обозначить, что эта версия языка документирована книгой.manде-факто

Ранний Perl 5 Perl 4 прошёл через серию релизов, остановившись на Perl в 1993 году. В этот момент Ларри Уолл забросил Perl 4 и начал работу над Perl 5. Разработка Perl 5 была начата в 1994 году. В то же время был создан список рассылки perl5-porters для координации работы над портированием Perl 5 на различные платформы. Он до сих пор остаётся основным форумом по разработке, обслуживанию и портированию Perl 5[4].список рассылкипортированием[4] Perl был выпущен 17 октября 1994 года.[5] Он включал в себя полностью переписанный интерпретатор, а также много новых языковых возможностей, таких, как объекты, ссылки,локальные переменные (my $var_name) и модули. Особенно важной частью были модули, так как они предоставили механизм расширения языка без модифицирования интерпретатора. Это позволило стабилизировать интерпретатор, но при этом, дало возможность обычным Perl-программистам добавлять в язык новые возможности. Perl 5 находится в активной разработке по сей день.[5]интерпретаторобъектыссылкилокальные переменныемодули Perl был выпущен 13 марта 1995 года. Perl увидел свет 29 февраля 1996 года с новой поддержкой прототипов. Это позволило авторам модулей создавать функции, которые вели себя так же, как и встроенные функции Perl. Версия Perl появилась 25 июня 1996 года и устранила обнаружившиеся проблемы с безопасностью. Одно из важнейших событий в истории Perl 5 случилось за пределами собственно языка и было следствием поддержки модулей. 26 октября 1995 года начала свою работу CPAN(Comprehensive Perl Archive Network «всеобъемлющая сеть архивов Perl»), которая стала репозиторием модулей Perl, а также исходного кода самого языка. На данный момент сеть насчитывает более модулей, созданных более чем программистами[6].CPANрепозиториеммодулей Perl[6] Perl был выпущен 15 мая 1997 года и содержал, кроме всего прочего, пакет UNIVERSAL, который давал языку основной объект, от которого автоматически происходили все классы. Была также включена возможность запрашивать версию модулей. В дополнение к этому Perl стал поддерживать Microsoft Windows, а также ряд других операционных систем. Perl увидел свет 22 июня 1998 года. Этот релиз включал в себя несколько улучшений процессора регулярных выражений, новые перехваты в бэкенд с помощью модулей B::*, оператор кавычек qr// для регулярных выражений, большой выбор других новых модулей, а также поддержку ряда операционных систем, в частности, BeOS.BeOS

C 2000 по наше время Perl 5.6 был выпущен 22 марта 2000 года. Главные изменения включали поддержку 64-битных систем, представление строк в стандарте Юникод, поддержку больших файлов (файлы больше 2 Гб) и ключевое слово «our»[7][8]. Во время разработки Perl 5.6 было принято решение изменить схему наименования версий на более близкую к другим проектам с открытым исходным кодом. За версией 5.005_63 следовала версия ; согласно плану, версиям в разработке должны были присваиваться нечётные номера, стабильным версиям чётные.Юникод[7][8] В 2000 году Ларри Уолл выступил с призывом к сообществу активно обсуждать предложения к следующей версии Perl. Результатом этого обсуждения стал 361 документ RFC(Request for Comments «запрос комментариев»), которые были использованы в разработке Perl 6. В 2001 году[9] была начата работа над финальным документом, подводящим итог предложениям к созданию нового поколения Perl. Результат был представлен не в виде формального документа, а в качестве дайджеста всех RFC. К этому времени Perl 6 существовал исключительно в виде описания языка.RFCPerl 6[9] Perl 5.8 был впервые выпущен 18 июля 2002 года и с этого момента получал ежегодное обновление. Последняя версия Perl увидела свет 14 декабря 2008 года. Perl 5.8 улучшал поддержку Юникода, добавлял новую реализацию ввода/вывода, добавлял поддержку многопоточности, увеличивал числовую точность и добавлял несколько новых модулей[10].[10] В 2004 году началась работа над Cинопсисом (Synopsis) первоначально задумавшимся как ряд документов, подводящих итоги финального документа, упоминавшегося выше. Однако постепенно этот ряд документов и стал спецификацией Perl 6. В феврале 2005 года Отриус Тан (Autrijus Tang) начала работу над Pugs[11] интерпретатором Perl 6, написанном на Haskell[12]. Это было первой настоящей попыткой воплотить Perl 6 в реальность. Эта попытка заглохла в 2006 году.Отриус Тан (Autrijus Tang)[11]Perl 6Haskell[12] 18 декабря 2007 года, в день 20-летней годовщины Perl 1.0, была выпущена версия Perl Эта версия содержала в себе ряд заметных нововведений, приближающих её к Perl 6. Одними из таких нововведений стали новые операторы switch (названных «given»/«when»), обновление регулярных выражений, а также «умный» оператор совпадения «~~»[13][14].Perl 6switch[13][14] Примерно в это же время всерьёз началась разработка новой реализации Perl 6, известной как Rakudo Perl [15], разработанной в тандеме с виртуальной машиной Parrot. C ноября 2009 года Rakudo Perl регулярно обновляется каждый месяц и является на данный момент самой полной реализацией Perl 6.[15]ParrotPerl 6 Значительное изменение процесса разработки Perl 5 произошло после появления Perl Сообщество разработчиков перешло на ежемесячный цикл релизов, с планированием даты релиза на три месяца вперёд. 12 апреля 2010 года Perl был представлен публике. Выдающиеся нововведения включают в себя поддержку нового синтаксиса package NAME VERSION, оператор Yada Yada (служащего для маркировки кода-заполнителя, который ещё не реализован), полное решение Проблемы 2038 года (Y2038), перегрузку операторов регулярных выражений, поддержкуDTrace (фреймворка динамической трассировки), а также полную поддержку стандарта Unicode 5.2[16]. 7 сентября 2010 года был выпущен Perl Этот релиз содержит обновление модулей, а также некоторые изменения в документации[17].Проблемы 2038 годаDTrace[16][17]

Особенности Общая структура Perl в общих чертах ведёт своё начало от языка Си. Perl процедурный по своей природе, имеет переменные, выражения присваивания, блоки кода, отделяемыефигурными скобками, управляющие структуры и функции.Сипроцедурныйпеременныеприсваиванияфигурными скобкамифункции Perl также заимствует ряд свойств из языков программирования командных оболочек UNIX. Все переменные маркируются ведущими знаками, которые точно выражают тип данных переменной в этом контексте (например, скаляр, массив, хеш). Важно, что эти знаки позволяют переменным быть интерполированным в строках. Perl обладает множеством встроенных функций, которые обеспечивают инструментарий, часто используемый для программирования оболочки, например сортировку или вызов системных служб.командных оболочек UNIX Perl заимствует массивы из Lisp, регулярные выражения из AWK и sed, из AWK также позаимствованы хеши («ассоциативные массивы»). Регулярные выражения облегчают выполнение многих задач по парсингу, обработке текста и манипуляций с данными.массивыLispрегулярные выраженияAWKsedхеши Perl 5 добавил поддержку сложных типов данных, первоклассных функций (замыкание как значение) и объектную модель. В последнюю входят ссылки, пакеты, выполнение методов от класса, переменные с лексическим объявлением области видимости, а также директивы компилятору (например, strict). Главнейшим усовершенствованием, представленным в Perl 5, стала возможность помещать код в «пакеты» (package) в качестве модулей для повторного использования. Ларри Уолл позже заметил, что «Весь замысел модульной системы Perl 5 сводился к поощрению роста культуры Perl, а не строчек кода»[19].первоклассных функцийзамыканиессылкиобласти видимостидирективы[19] Все версии Perl выполняют автоматическую типизацию данных и автоматический контроль над памятью. Интерпретатор знает тип и запросы памяти каждого объекта программы, он распределяет и освобождает память, производя подсчёт ссылок. Перевод одного типа данных в другой например, числа в строку происходит автоматически во время исполнения, невозможные для выполнения переводы типов данных приводят к фатальной ошибке.подсчёт ссылок

Синтаксис языка Perl Синтаксис Perl имеет много общего с синтаксисом языков Си, AWK, sed и Bourne shell.СиAWKsedBourne shell Первая строка исходного кода может начинаться с «#!/Путь/к/Perl [-ключи]» что указывает системе путь к интерпретатору Perl для выполнения программы в UNIX системах и выполнения их на веб-сервере.веб-сервере

Пример программы Простейшая программа «Hello, world!» выглядит следующим образом:Hello, world! #!/usr/bin/perlprint "Hello, world!\n"; либо для CGI:CGI #!/usr/bin/perlprint "Content-type: text/html\n\n";print "Hello, world!"; либо используя один из post modern web-framework use Mojolicious::Lite;get '/' => {text => 'Hello World!'};app->start; либо используя PSGI спецификациюPSGI my $app = sub { return [200, ['Content-Type' => 'text/plain'], ["hello, world\n"]];} Дозапись в строку. $x = 5;$x.= 0;print $x; #50 А вот так можно напечатать число гугол.гугол print 1, 0 x 100;

PHP PHP (англ. PHP: Hypertext Preprocessor «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools[4] «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) скриптовый язык[5] программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.[6]англ.препроцессоргипертекста[4]скриптовый язык[5]хостинг-провайдеровдинамических веб-сайтов[6] Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом.[7] Проект распространяется подсобственной лицензией, несовместимой с GNU GPL.открытым кодом[7]собственной лицензиейGNU GPL

Область применения В области программирования для сети Интернет PHP один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.программирования для сети Интернетсценарных языковJSPPerlASP.NETкроссплатформенностилицензии PHP Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений[8]. Основные из них:веб-сайтов[8] автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;POSTGET взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase,ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);MySQLMySQLiSQLitePostgreSQLOracle (OCI8OracleMicrosoft SQL ServerSybaseODBCmSQLIBM DB2CloudscapeApache DerbyInformixOvrimos SQLLotus NotesDB++DBMdBaseDBXFrontBaseFileProIngres IISESAMFirebirdInterBaseParadox File AccessMaxDBИнтерфейсPDO автоматизированная отправка HTTP-заголовков;HTTP-заголовков работа с HTTP-авторизацией; работа с cookies и сессиями;cookies работа с локальными и удалёнными файлами, сокетами;сокетами обработка файлов, загружаемых на сервер; работа с XForms.XForms В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в декабре 2012 года PHP находился на 6 месте среди языков программирования.[6] К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.[6]FacebookWikipedia Входит в LAMP распространённый набор программного обеспечения для создания и хостинга веб- сайтов (Linux, Apache, MySQL, PHP).LAMPхостингавеб- сайтовLinuxApacheMySQL

История В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl интерпретатора скриптов перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter «Личная Домашняя Страница / Интерпретатор форм»).1994 годудатскийпрограммистРасмус ЛердорфскриптовPerl/CGIонлайнрезюмеHTMLCангл.Интерпретатор В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всехинтернет-доменов мира.[4]1997 годубета-тестированияCинтернет-доменов[4] Версия PHP 3.0 подверглась значительной переработке, определившей современный облик и стиль языка программирования. В 1997 году два израильских программиста, Энди Гутманс и Зеев Сураски, полностью переписали код интерпретатора. PHP 3.0 был официально выпущен в июне 1998 года.[4]1997 годуизраильскихпрограммистаЭнди ГутмансЗеев Сураски1998 года[4] Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра дополнительными модулями. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое числоAPI. Большое количество разработчиков привело к быстрому развитию языка и стремительному росту его популярности. С этой версии акроним php расшифровывается как «PHP: hypertext Preprocessor», вместо устаревшего «Personal Home Page».баз данныхпротоколовAPI К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зеев Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Новый движок, названный Zend Engine, успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.1998 годаZend Engine1999 года2000 годабуферизация Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективностьинтерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP июля2004 годаинтерпретатораXMLООПJavaдеструктороткрытые, закрытые и защищённые члены и методыинтерфейсыпространства имёнзамыкания Шестая версия PHP разрабатывалась[9] с октября 2006 года. Было сделано[10][11] множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода.[12]. Однако в марте 2010 года разработка PHP6 была признана бесперспективной[13] из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.[9]октября 2006[10][11]POSIXЮникода[12]марте 2010[13]Юникодаветвь

Синтаксис Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.Сиассоциативные массивыPerl Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP. Простейшая программа Hello world на PHP выглядит следующим образом:программа Hello world Так же возможен более короткий вариант вывода строки: Открывающий тэг вида

Python Python (англ. python питон, произносится [ ˈ pa ɪ θən] па́йтон; в русском языке распространено название пито́н[4])[5] высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.англ.питон[ ˈ pa ɪ θən][4][5]высокоуровневый язык программированияСинтаксисстандартная библиотека Python поддерживает несколько парадигм программирования, в том числе структурное, объектно- ориентированное, функциональное,императивное и аспектно-ориентированное. Основные архитектурные черты динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневыеструктуры данных. Код в Питоне организовывается в функции и классы, которые могут объединяться в модули (которые в свою очередь могут быть объединены в пакеты).парадигм программированияструктурноеобъектно- ориентированноефункциональноеимперативноеаспектно-ориентированноединамическая типизацияавтоматическое управление памятьюинтроспекцияобработки исключениймногопоточных вычисленийструктуры данныхклассымодули Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ[6]. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные[7]. Есть реализации интерпретаторов для JVM (с возможностью компиляции), MSIL (с возможностьюкомпиляции), LLVM и других. Проект PyPy предлагает реализацию Питона на самом Питоне, что уменьшает затраты на изменения языка и постановку экспериментов над новыми возможностями.CPython[6]свободной лицензиейпроприетарные[7]JVMкомпиляцииMSILкомпиляцииLLVMPyPy Python активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.стандарт ANSIISO

История Разработка языка Python была начата в конце 1980-х годов[10] сотрудником голландского института CWI Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в ньюсгруппе alt.sources[11]. С самого начала Python проектировался какобъектно-ориентированный язык.1980-х годов[10]Гвидо ван РоссумомAmoebaABC1991 годаньюсгруппе[11]объектно-ориентированный язык Название языка произошло вовсе не от вида пресмыкающихся. Автор назвал язык в честь популярного британского комедийного телешоу 1970-х «Летающий цирк Монти Пайтона». Впрочем, всё равно название языка чаще ассоциируют именно со змеёй, нежели с фильмом пиктограммы файлов в KDE или в Microsoft Windows и даже эмблема на сайте python.org (до выхода версии 2.5) изображают змеиные головы.1970-хЛетающий цирк Монти ПайтонапиктограммыKDEMicrosoft Windows Наличие дружелюбного, отзывчивого сообщества пользователей считается наряду с дизайнерской интуицией Гвидо одним из факторов успеха Python. Развитие языка происходит согласно чётко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP (англ. Python Enhancement Proposal) предложений по развитию Python[12].англ.[12] 3 декабря3 декабря 2008 года[13], после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x).2008 года[13]сокращение

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

Ruby Ruby (англ. ruby рубин, произносится ['ru:b ɪ ] руби) динамический, рефлективный, интерпретируемый высокоур овневый язык программирования для быстрого и удобного[7][8] объектно-ориентированного программирования. Язык обладает независимой отоперационной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно- ориентированному подходу к Smalltalk. Также некоторые черты языка взяты из Python, Lisp, Dylan и CLU (англ.).англ.рубин['ru:b ɪ ]динамическийрефлективныйинтерпретируемыйвысокоур овневый язык программирования[7][8]объектно-ориентированного программированияоперационной системымногопоточностидинамической типизациейсборщиком мусорадругими возможностямисинтаксисаPerlEiffelSmalltalkPythonLispDylanCLUангл. КроссплатформеннаяКроссплатформенная реализация интерпретатора языка является полностью свободной[5]интерпретатораполностью свободной[5]

История создания и развития Создатель Ruby Юкихиро Мацумото (Matz) интересовался языками программирования, ещё будучи студентом, но идея о разработке нового языка появилась позже. Ruby начал разрабатываться 23 февраля 1993 года и вышел в свет в 1995 году.Юкихиро Мацумото (Matz)языками программирования23 февраля1993 года1995 году Название навеяно языком Perl, многие особенности синтаксиса и семантики из которого заимствованы в Ruby: англ. pearl «жемчужина»,ruby «рубин».Perlсинтаксисасемантикиангл. Целью разработки было создание «настоящего объектно-ориентированного», лёгкого в разработке, интерпретируемого языка программирования. Из письма автора[9]:объектно-ориентированногоинтерпретируемого языка программирования[9] Ruby родился 23 февраля 1993 года. В тот день я беседовал со своим коллегой о возможности существования объектно-ориентированного сценарного языка. Я знал Perl(Perl4, а не Perl5), но он мне не нравился был в нём некий привкус игрушечного языка (да и поныне есть). А объектно-ориентированный интерпретируемый язык казался многообещающим. В то время я знал Python. Но он мне не нравился потому, что я не считал его настоящим объектно-ориентированным языком. Его OO свойства казались надстройкой над языком. Мне, как языковому маньяку и фанату объектно-ориентированного программирования с пятнадцатилетним стажем, очень, очень хотелось, чтобы был истинно объектно-ориентированный, простой в использовании язык. Я пытался найти такой язык, но его не было.сценарного языкаPerlPython Тогда я решил его создать. Прошло несколько месяцев, прежде чем интерпретатор заработал. Я добавил в мой язык то, что мне хотелось итераторы, обработку исключений, автоматическую сборку мусора. Затем я переорганизовал свойства Perl и реализовал их как библиотеку классов. В декабре 1995 года я опубликовал Ruby 0.95 в японских новостных группах. С тех пор появились сайты, списки рассылок. В списках рассылок идут жаркие обсуждения. Самый старый список сейчас содержит писем.интерпретаторитераторыобработку исключенийсборку мусорабиблиотекуклассов1995 года В Японии Ruby стал популярным с момента появления первой общедоступной версии в 1995 году, однако наличие документации только на японском языке сдерживало его дальнейшее распространение. Лишь в 1997 году появилось описание Ruby на английском языке, а в 1998 году открылся форум «ruby-talk». Это положило начало росту известности языка в остальном мире. Издано несколько книг на различных языках, в том числе на русском. Сейчас Ruby входит в большинство дистрибутивов ОС Linux, поставляется вместе с Mac OS X, доступен пользователям других операционных систем.1995 году1997 годукнигрусскомдистрибутивовLinux

Семантика Ruby полностью объектно-ориентированный язык. В нём все данные являются объектами, в отличие от многих других языков, где существуют примитивные типы. Каждая функция метод.объектно-ориентированный языкобъектамипримитивные типыметод Переменные Ruby передаются по ссылке. Для программиста, привычного к распространённым гибридным языкам программирования, некоторые эффекты такого решения могут показаться неожиданными. Например: a = "abcdefg" b = a b #=> "abcdefg" a[3] = 'R' b #=> "abcRefg" то есть при изменении значения переменной a, неявно изменилось и значение b, так как они содержат ссылку на один объект. То есть механизм присваивания действует одинаково для всех объектов, в отличие от языков типа C, Object Pascal, где присваивание может означать как копирование значения, так и копирование ссылки на значение.CObject Pascalприсваивание Ruby не поддерживает множественное наследование, но вместо него есть мощный механизм примесей. Все классы (напрямую или через другие классы) выведены из классамножественное наследованиепримесей

Примеры В Ruby есть немало оригинальных решений, редко или вообще не встречающихся в распространённых языках программирования. Можно добавлять методы не только в любые классы, но и в любые объекты. Например, вы можете добавить к некоторой строке произвольный метод. # всё от символа # и до конца строки - комментарий # = является оператором присваивания, # символы в «"» - строка, которой можно манипулировать средствами языка str = "Привет" # здесь создаётся переменная str, типа String # def - ключевое слово для объявления функции def str.bye # str. указывает, кому принадлежит метод (по умолчанию Object) # bye - имя метода, за ним может следовать необязательный, заключённый в # круглые скобки список параметров функции "Пока!" # из метода возвращается последнее вычисленное значение (здесь - строка) end # ключевым словом end заканчиваются практически все инструкции Ruby # puts - метод, # str.bye - обращение к методу bye объекта str # значение, полученное из метода bye передаётся методу puts # который выводит на экран информацию puts str.bye #=> Пока! Этот пример также демонстрирует, как в Ruby можно использовать синглтон. В этом примере синглтоном является объект str.синглтон Любая конструкция в Ruby возвращает значение. Например: # конструкция if вычисляет выражение после него, и, если оно истинно, # возвращает результат выражения между then и else, иначе между else и end puts( if 5 > 3 then "Одно" else "Другое" end ) #=> Одно # происходит присваивание значения переменной var, и операция присваивания # возвращает значение переменной var, которая выводится на экран puts( var = 5 ) #=> 5