Internet программирование (Java, PHP, С# и др.)

В 1990-х годах в связи с активным развитием Интернета распространение получили языки, позволяющие создавать сценарии для веб-страниц — главным образом Perl, развившийся из скриптового инструмента для Unix-систем, и Java. Возрастала также и популярность технологий виртуализации. Эти изменения, однако, также не представляли собой фундаментальных новаций, являясь скорее совершенствованием уже существовавших парадигм и языков (в последнем случае — главным образом семейства Си).

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

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

Java

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

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

Самым распространенным скриптовым языком стал JavaScript, поддержка которого была впервые включена в браузер компании Netscape. Вопреки распространенному заблуждению JavaScript не является диалектом языка Ява. В языке можно увидеть черты Си, Паскаля, есть средства объектно-ориентированного программирования.

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

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

Аплеты и скрипты, исполняемые на компьютере клиента-посетителя веб-страницы, ограничены в своих правах доступа к файлам веб-сервера. В то время как программа, работающая на сервере, может читать и записывать расположенные там файлы, выполняя запросы к размещенным на сервере базам данных, обновляя эти базы и направляя результаты на веб-страницу. Порядок взаимодействия браузера (веб-страницы) с выполняемой на веб-сервере программой определяется интерфейсом CGI (Common Gateway Interface). В роли программы, взаимодействующей с помощью CGI-интерфейса с веб-сервером и веб-браузером, может, в принципе, выступать любая программа, способная исполняться в среде той операционной системы, на которой работает веб-сервер. И написана она может быть практически на любом языке. Для UNIX-подобных ОС это будет, к примеру, программа, написанная на Си и откомпилированная в машинный код компилятором языка Си, который входит в состав любой такой системы. Результат своей работы, направляемый по сети браузеру, CGI-программа может просто выводить в стандартный выходной файл.

Perl

Perl — высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию. Основной особенностью языка считаются его богатые возможности для работы с текстом, в том числе работа с регулярными выражениями, встроенная в синтаксис. Перл унаследовал много свойств от языков Си, AWK, скриптовых языков командных оболочек UNIX. Perl знаменит огромной коллекцией дополнительных модулей CPAN (около 200 000), которые значительно увеличивают его возможности.

CGI-скрипты стали писать и на языке Перл (Perl). Как и в случае со скриптами на Java Script и VB Script, сказалась простота использования. Программы на Перле исполняются прямо по их исходному коду в режиме интерпретации. Поэтому их часто называют скриптами (CGI-скриптами). Предварительная компиляция не требуется. Чтобы проверить действие Перл-программы, достаточно поместить файл с ее текстом в соответствующий каталог сервера и вызвать веб-страницу, на которой есть ссылка на CGI-скрипт.

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

Как порождение UNIX, Перл несет в себе в первую очередь черты языков, применяемых в этой системе. Это Си, командные
языки UNIX, специализированные языки для обработки текстов (awk), встроенные языки текстовых редакторов. Можно найти и черты, роднящие Перл с Бейсиком: необязательность описаний, наличие специальных конструкций там, где другие языки обходятся единообразным синтаксисом. Вряд ли можно считать, что Перл представляет собой существенный шаг в эволюции языков программирования. Синтаксис языка довольно запутан, контроль типов слаб. Устройство языка не способствует надежному программированию, допущенные программистом ошибки могут долгое время оставаться незамеченными. 

PHP

PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально PHP/FI (Personal Home Page / Form Interpreter), а позже названный Personal Home Page Tools — «Инструменты для создания персональных веб-страниц» — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.

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

Технология, аналогичная РНР, созданная компанией Microsoft и ориентированная на Windows-серверы, называется ASP (Active Server Pages — активные серверные страницы). Скрипты для ASP пишут на диалекте Visual Basic. 

C#

C# — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров компании Microsoft под руководством Андерса Хейлсберга и Скотта Вильтаумота как язык разработки приложений для платформы Microsoft .NET Framework и .NET Core. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. 


Свердлов С. 3. Языки программирования и методы трансляции: Учебное пособие. — СПб.: Питер, 2007. — 638 с.: ил.