Лекции по WEB языкам.

При помощи HTML можно определить внешний вид в окне браузера таких элементов, как текст, таблицы, изображения. Однако этот язык работает только со статическими элементами. Чтобы оживить страницу при помощи динамических элементов, дополнительно с HTML используются языки сценариев (scripting language), такие как JavaScript и VBScript.

Язык сценариев JavaScript - слабо типизированный скриптовый язык с объектно-ориентированными и структурно-блочными возможностями. Был изобретен Netscape Communications для добавления динамичности страницам web,благодаря чему он был оригинально назван 'LiveScript' (языком жизни) не имеет никакого отношения к платформо-независимому языку программирования Java, несмотря на созвучное название. По синтаксису схож с Java и (отдаленно) с C/C++. JavaScript - наиболее часто используемый сегодня язык сценариев, который поддерживается всеми популярными браузерами.             Первоначально назывался LiveScript, причиной смены названия получили маркетинговые соображения. Имеет возможность использовать встроенную в браузер объектную функциональность, однако подлинно объектно-ориентированным языком не является.

Синтаксис JavaScript похож на синтаксис C или Java, но проще и не так богат. Примитивными типами данных в нем являются целые, действительные, строки и массивы. Javascript слабо типизирован: любая переменная может содержать данные любого типа и преобразование происходит автоматически. Описание языка включает обширные возможности для контроля и работы с частями web страниц, особенно с HTML формами.

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

Web браузер компании Microsoft также поддерживает  Javascript, но под другим именем - "JScript".

JavaScript был создан как дополнение Java в некотором смысле. Он интерпретируется, в том время как Java компилируется в код из байтов, он слабо типизирован, а Java – сильно типизированный язык, и он тесно связан с HTML в отличие от Java.

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

Javascript может быть смещен стандартизированным скриптовым языком, произошедшим от него: ECMAScript.

 

VBScript (VisualBasic Script) был разработан компанией Microsoft во многом в качестве альтернативы JavaScript и поддерживается только браузером MS Internet Explorer. Синтаксис VBScript подобен языку программирования Visual Basic (и является усеченной версией последнего), что облегчает изучение этого языка сценариев для тех, кто ранее работал с VB. Однако в браузерах Netscape и Opera код VBScript работать не будет.

При помощи сценариев можно украсить страницу, придать ей некоторую интерактивность, но все равно содержание ее будет статическим, то есть не будет изменяться с момента ее создания.

            Характерными особенностями данных языков являются, во-первых, их интерпретируемость (компиляция либо невозможна, либо нежелательна), во-вторых, простота синтаксиса, а в-третьих, легкая расширяемость. Таким образом, они идеально подходят для использования в часто изменяемых программах, очень небольших программах/

 

Построение Web-приложений

Если вам приходилось когда-либо пользоваться услугами Internet-магазинов или заполнять регистрационную форму на сайте провайдера - значит вы имели в тот момент дело не с обычной статической страницей, а с интерактивным Web-приложением. Такое приложение похоже на обычную программу, за исключением того, что оно общается с пользователем через Web-браузер. Довольно часто для этого применяется платформа Common Gateway Interface (CGI).

            Впервые поддержка CGI была осуществлена на сервере CERN в апреле 1994 года. А сегодня уже все популярные Web-серверы на платформе UNIX и Windows NT поддерживают CGI.

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

 

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

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

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

         Брайн КерниганPerl — это язык программирования, хорошо приспособленный для работы с регулярными выражениями. Операционная система UNIX ввела в практику системного программирования сценарий на языке командного интерпретатора shell, который можно рассматривать как язык программируемых процессов для управления выполнением программ на компьютере. Данными, обрабатываемыми этими сценариями, были программы и файлы, входящие в систему компьютера. В качестве вспомогательных средств для программирования на языке командного интерпретатора shell были разработаны разнообразные языки для обработки строковых данных. Одними из первых были AWK, появившийся в 1977 т. (назван в честь своих авторов - Альфреда В. Ахо, Питера Дж. Вейнбергера и Брайана В. Кернигана , и SED, потоковый редактор (stream editor), созданный по образцу одного из первых редакторов UNIX ed.

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

Для облегчения shell-программирования в UNIX было разработано много новых языков управления процессами типа AWK. Язык Perl (Practical Extraction and Report Language) был создан в 1986 г. Ларри Уоллом для решения задач управления конфигурацией сети, состоящей из нескольких компьютеров. Вначале Уолл использовал механизм под названием B-news, но он неадекватно выполнял задачу создания и обработки необходимых отчетов. AWK не мог одновременно открывать и закрывать множество файлов. В результате появился новый язык Perl, который унаследовал некоторые черты предшественников - языков AWK и SED, но более подходил для данного применения.

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

Perl - это интерпретируемый язык, предназначенный для эффективной обработки текстов. Синтаксис языка Perl построен по образцу языка С, так как исходно Perl развивался как командный язык в операционной системе UNIX, где С являлся основным языком программирования. Ввиду сходства с С Perl столь же удобен (или неудобен - в зависимости от того, считаете ли вы С удобным для чтения) для чтения, как и С.
Переменные в языке Perl начинаются с символа $ и могут содержать как целые числа, так и строки. Также в Perl имеются массивы скаляров и ассоциативные массивы. Ассоциативные массивы называются также массивами с адресацией по содержанию, поскольку для доступа к информации можно пользоваться не только индексами массива, но и содержанием элемента. Например, в большинстве современных операционных систем с программой ассоциирована некоторая среда или окружение, содержащее переменные с определенными значениями. В языке Perl это окружение доступно при помощи специального ассоциативного массива $ENV. Одним из элементов этого окружения (в системе UNIX) является идентификатор (ID) пользователя. В Perl достаточно написать следующий оператор:
print "Пользователь этой программы: $ENV{'USER'}\n";
и на экране монитора будет напечатано имя пользователя (переменная окружения USER), причем не потребуется определять, где в окружении хранится информация об ID пользователя. Этот пример показывает, как легко Perl интегрируется в операционную систему для создания сценариев обработки процессов.

Простая программа Perl состоит из последовательности операторов print. Она также включает обычные последовательности структур управления наподобие циклов for, while и until и условного оператора if. Особенно удобен оператор foreach, который позволяет совершать цикл по всем элементам массива и выполнять для каждого из них какие-то действия, не зная заранее о размерах массива. В Perl, как и в некоторые другие языки создания процессов, встроена возможность обрабатывать регулярные выражения. Логическая операция =~ представляет собой результат сопоставления строки с образцом. Операция $ENV{ 'USER'}=~mvz проверяет, содержится ли в строке $ENV{ 'USER'} регистрационное имя mvz (то есть зарегистрирован ли пользователь этой программы под указанным именем). Операция ! ~, напротив, осуществляет проверку на отсутствие соответствия.

Перед вами пример задача которого - вывод на экран строки "Hello, world":

 

#!/usr/local/bin/perl
# Hello.cgi -
Моя первая программа CGI
print "Content-Type: text/html\n\n";
print " \n";
print "";
print "\n";
print "\n";
print "Hello, World!\n";
print " \n";

 

Язык для сисадминов

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

Hosted by uCoz