Язык программирования клиентских скриптов JavaScript. Скриптовый язык программирования javascript
Скриптовые языки программирования: задачи, особенности и преимущества
В 1950 году появился первый язык программирования - ассемблер. ЭВМ тогда были еще несмышлеными детьми по сравнению с современными ПК. Согласно законам дарвинизма машины росли, набирались ума и производительности. Вместе с ними эволюционировали и языки программирования. Из низкоуровневых они превратились в высокоуровневые, объектно-ориентированные. Сейчас мы имеем сценарные, или скриптовые языки.
Что собой представляют языки сценариев
Высокоуровневые языки программирования для написания последовательности операций, или сценариев называются скриптовыми, сценарными или интерпретируемыми языками. К ним относятся:
- JavaScript;
- ActionScript;
- Perl;
- Python;
- Scala;
- R;
- Ruby;
- PHP.
Для того чтобы написать простейшую программу Hello, World! на ассемблер требуется 14 строк кода. C++ заставит написать 8. Почти в два раза меньше, но все равно долго. Придется подключить заголовочный файл, библиотеки, указать функцию, а потом еще и компилировать. То же самое на Python помещается в одну фразу - print Hello, World!. Одинаковый результат за меньшие усилия, при этом никаких компиляторов.
Скорость обработки
С появлением скриптовых языков, в сообществах кодеров часто звучат предположения о скорой кончине C++. Все больше недовольных ропщут на трудный синтаксис и сложность компиляции. Защитники процедурного программирования утверждают, что коду на Python далеко по скорости до C. А Perl – язык для детей, непригодный для «настоящего» программирования. Но это миф.
Производительность компьютеров растет по экспоненте. Около 10 лет назад для быстроты действительно нужен был код на программном языке. Сейчас вычислительная техника обладает достаточной мощностью, чтобы обрабатывать сценарии и приложения на Java или Ruby за одинаковый промежуток времени.
Кому и для каких целей нужны языки сценариев
Экспансия Интернета породила касту «эпизодических программистов». Это веб-мастера, верстальщики и владельцы Интернет-ресурсов, для которых важна доступность. У них нет времени на многолетнее погружение в азы процедурного программирования. Они пишут код от случая к случаю, им нужен простой синтаксис для сценариев на JavaScript и фронтенд-разработки. Для серверного программирования походит как JS, так и скриптовый язык PHP.
Классическое ООП безмерно гордится наследованием реализации кода. Это главный аргумент мирового господства ООП в будущем, но и существенный недостаток. При повторном использовании части кода или отельного подкласса, нельзя отделаться от влияния и методов его суперкласса. Зато это возможно с JavaScript. Скриптовые языки обеспечивают безболезненное повторное использование, посредством встраивания отдельных компонентов в общий код.
JavaScript
Согласно барометру популярности JavaScript стоит на первом месте. Используется для веб-программирования, создания клиентских приложений и интерактивной работы. Интерпретаторы JS встроены в каждый уважающий себя браузер, а с появлением Node, JavaScript стал использоваться для программирования серверов.
На сегодняшний день JavaScript – скриптовый язык, который используется на каждом сайте. Так как работает он прямо в браузере, не нужно загружать дополнительное ПО, достаточно текстового редактора. Это гибкий язык с простым синтаксисом, поэтому его часто рекомендуют для начинающих кодеров.
Python
Популярность этого языка неумолимо набирает обороты. Python – это высокоуровневый серверный скриптовый язык для веб-сайтов и мобильных приложений. Обладает компактным синтаксисом, его удобно читать и легко с ним работать. Скептики утверждают, что пригоден Python только для работы с web, а создавался он в целях оживить статичный HTML. Но это не так.
На Python пишут не только плагины и модули. Его применяют в гейм-разработке. Игры Frets On Fire, MMORPG EVE и Online Sims 4 (продано 1 миллион экземпляров) были созданы на Python. Его используют Instagram, Pinterest, Rdio, Google, Yahoo и даже НАСА. У Python низкий порог вхождения, он быстро усваивается и запоминается. Выучить его можно абсолютно бесплатно на интерактивных площадках Codecademy, сервисах Udacity и Coursera.
PHP
Серверный язык сценариев, предназначенный для динамических веб-сайтов и разработки приложений. Может быть непосредственно встроен в исходный HTML-документ, а не во внешний файл. На PHP построено и работает более 200 миллионов веб-сайтов, включая Digg, Facebook и платформы WordPress, Joomla, Drupal.
На сегодняшний день самыми востребованными скриптовыми языками являются JavaScript, Python, PHP. Постепенно завоевывают любовь программистов Ruby, Scala и R.
- Ruby – сценарный язык, созданный в 1995 году Юкихиро Мацумото. До 2004 года о нем никто не слышал, пока не появился фреймворк Ruby on Rails. Сейчас Ruby уверенно догоняет Python.
- Увеличивается интерес к Scala. Это функциональный язык, использующийся серверами Foursquare и Twitter. На нем можно писать как веб, так и Android-приложения.
- R – инструмент для сбора статистических данных, работы с графикой и мощный скриптовый язык. Представляет собой коллекцию классических скриптовых функций, заимствованных из Лиспа и математики, с набором подпрограмм для анализа.
Выводы
Сценарные языки сейчас в тренде, а большинство аналитиков придерживаются мнения, что за ними будущее. Python, Ruby, PHP позволяют писать компактный и лаконичный код с наименьшим числом ошибок. Простой и понятный синтаксис дает возможность любому желающему освоить их и начать заниматься разработкой.
fb.ru
3.6 Скриптовые языки программирования
Скриптовый язык (англ. scripting language, также называют язык сценариев) – язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages или job control languages). Сценарии всегда интерпретируются, а не компилируются.
Сценарий (скрипт) – это программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы.
Поскольку сценарии интерпретируются из исходного кода динамически при каждом исполнении, они выполняются обычно значительно медленнее готовых программ, оттранслированных в машинный код на этапе компиляции. Поэтому сценарные языки не применяются для написания программ, требующих оптимальности и быстроты исполнения. Но из-за простоты они часто применяются для написания небольших, одноразовых («проблемных») программ. Также, в плане быстродействия скриптовые языки можно разделить на языки динамического разбора (sh, command.com) и предварительно компилируемые (Perl).
Языки динамического разбора считывают инструкции из файла программы минимально требующимися блоками, и исполняют эти блоки, не читая дальнейший код.
Предкомпилируемые языки вначале считывают всю программу, компилируют её всю либо в машинный код, либо в какой-то внутренний формат, и лишь затем – исполняют получившийся код.
Для создания пользовательских расширений язык сценариев удобен в ряде случаев:
безопасность. Скриптовый язык обеспечивает программируемость без риска дестабилизации системы. Скрипты не компилируются, а интерпретируются. Поэтому неправильно написанная программа выведет диагностическое сообщение, не вызывая падение системы;
наглядность. Язык сценариев используется, если необходим выразительный код. Концепция программирования в скриптовом языке может кардинально отличаться от основной программы;
простота. Код имеет собственный набор программ, поэтому одна строка может выполнять те же операции, что и десятки строк на обычном языке. Поэтому для написания кодов не требуется программист высокой квалификации;
кроссбраузерность. Скриптовые языки ориентированы на кроссбраузерность. Например, JavaScript может исполняться браузерами практически под всеми современными операционными системами.
Выделяют следующие типы скриптовых языков:
универсальные: Forth, AngelScript, Perl, PHP, Python, Tcl (Tool command language), Squirrel, REBOL, Ruby, AutoIt, Lua;
встроенные в прикладные программы: VBA, UnrealScript, AutoLISP, Emacs Lisp, Game Maker Language, MQL4 script, ERM;
командные оболочки: sh, AppleScript, bash, csh, ksh, JCL, cmd.exe, command.com, REXX, Visual Basic Script;
встраиваемые: Guile, Script.NET, ActionScript, Lingo (используется в редакторе Director), Sleep, браузерные Jscript и JavaScript.
Некоторые приложения имеют встроенную возможность расширения сценариями, написанными на любом универсальном скриптовом языке, например, автоматический планировщик задач или библиотека SWIG.
К скриптам также относят многие консольные утилиты, которые поддерживают выполнение записанной в файл последовательности команд.
Контрольные вопросы
Как классифицируются компьютерные сети?
Что представляет собой семиуровневая модель структуры протоколов связи?
Какие существуют основные протоколы сети Интернет?
Как происходит адресация в сети Интернет?
Какие распространенные сервисы сети Интернет?
Какие области охватывает разработчик Web-дизайна сайта?
Какие инструменты существуют для разработки Web-сайта?
Для чего предназначены языки HTML и XML?
Что содержит структура HTML-документа
Для чего предназначены скриптовые языки программирования?
studfiles.net
Язык программирования клиентских скриптов JavaScript
JavaScript - язык управления сценариями просмотра гипертекстовых страниц на стороне клиента. JavaScript позволяет получить доступ к библиотекам объектов браузеров, динамически формировать Web-страницы. JavaScript является скриптовым языком, программы обходятся без компиляции. JavaScript позволяет выполнять на стороне клиента многие функции, которые ранее выполнялись на стороне сервера. Лучшим примером является проверка заполнения форм до того, как пользователь передаст информацию Web-серверу. JavaScript позволяет читать и записывать файл cookie, который содержит информацию о пользователе, посылаемую веб-сервером на компьютер пользователя, для сохранения и использования в следующем сеансе связи.
К возможностям JavaScript можно, отнести следующее: отображение таких изменяющихся данных, как текущее время или дата; программирование переменного содержания в зависимости от текущей даты, версии браузера пользователя или других условий; изменение внешнего вида элементов страницы при возникновении события; выполнение вычислений на клиентской странице.
JavaScript вместе с XML и библиотекой JQuery образует основу технологии AJAX, ведущей среди технологий WEB 2.0.
Технология «клиент-сервер» cgi
Приложения WWW работают по технологии «клиент-сервер», в которой все программное обеспечение разделяется на клиентскую и серверную части. Взаимодействие клиента и сервера происходит по принципу «запрос-ответ» . Клиент посылает запрос, сервер обрабатывает его и посылает ответ. Рассмотрим, наприер, этапы соединения по протоколу http.
Запрос клиента. Браузер формирует запрос на основе данных из URL пользователя, после щелчка на ссылке либо из данных формы.
Установка соединения клиента с сервером.
Посылка запроса клиента и ожидание ответа от сервера.
Обработка запроса сервером. Генерация ответа.
Прием ответа клиентом.
Разрыв соединения.
Пока нет обращений от клиентов, сам HTTP-сервер просто «спит», установив прослушку заданного порта (80). Когда клиент устанавливает соединение, сервер «просыпается» и, приняв данные запроса, приступает к их обработке. Результат всех манипуляций - это выдача ответа, которого ожидает клиент. После того как сервер выдал ответ, он разрывает соединение и вновь «погружается в сон». Естественно отметить, что в случае возникновения ошибки HTTP-транзакция может закончиться на любом из этих этапов.
Большое количество Web-приложений основано на использовании внешних программ, управляемых Web-сервером. Использование этих программ позволяет строить Web-приложения с динамически обновляемой информацией, хранящейся в базах данных или генерирующейся в зависимости от бизнес-правил решаемых задач. Для связи между Web-сервером и вызываемыми программами широко используется технология Common Gateway Interface (CGI). CGI является стандартом интерфейса (связи) внешней прикладной программы с Web-сервером типа HTTP. С помощью CGI можно создавать программы, называемые шлюзами, которые во взаимодействии с системой управления базами данных, электронными таблицами, деловой графикой и др., смогут выдать на экран пользователя динамическую информацию.
Программа-шлюз запускается WWW-сервером, который обеспечивает передачу запроса пользователя шлюзу. Он в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса клиенту. Программа-шлюз записывается, например, в каталог WWW-сервера с именем cgi-bin.
studfiles.net
Javascript - сценарный язык программирования
⇐ ПредыдущаяСтр 4 из 10Следующая ⇒Что такое JavaScript?
JavaScript изначально создавался для того, чтобы сделать web-странички «живыми». Программы на этом языке называются скриптами. В браузере они подключаются напрямую к HTML и, как только загружается страничка — тут же выполняются.
Программы на JavaScript — обычный текст. Они не требуют какой-то специальной подготовки.
JavaScript может выполняться не только в браузере, а где угодно, нужна лишь специальная программа —интерпретатор. Процесс выполнения скрипта называют «интерпретацией».
Во все основные браузеры встроен интерпретатор JavaScript, именно поэтому они могут выполнять скрипты на странице. Но, разумеется, JavaScript можно использовать не только в браузере. Это полноценный язык, программы на котором можно запускать и на сервере, и даже в стиральной машинке, если в ней установлен соответствующий интерпретатор.
Современный JavaScript — это «безопасный» язык программирования общего назначения. Он не предоставляет низкоуровневых средств работы с памятью, процессором, так как изначально был ориентирован на браузеры, в которых это не требуется.
Что же касается остальных возможностей — они зависят от окружения, в котором запущен JavaScript. В браузере JavaScript умеет делать все, что относится к манипуляции со страницей, взаимодействию с посетителем и, в какой-то мере, с сервером:
Создавать новые HTML-теги, удалять существующие, менять стили элементов, прятать, показывать элементы и т.п.
Реагировать на действия посетителя, обрабатывать клики мыши, перемещение курсора, нажатие на клавиатуру и т.п.
Посылать запросы на сервер и загружать данные без перезагрузки страницы(эта технология называется "AJAX").
Получать и устанавливать cookie, запрашивать данные, выводить сообщения.[8]
PHP – скриптовый язык программирования
Так как основой создания сайта является язык PHP, то рассмотрим его более подробно:
Термин PHP
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов. [4]
PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом.
Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на Web-сервере.
Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц. Подробнее о преимуществах PHP можно узнать здесь.
Важным преимуществом языка PHP перед такими языками, как языков Perl и C заключается в возможности создания HTML документов с внедренными командами PHP.
Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. Вы даже можете сконфигурировать свой сервер таким образом, чтобы HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта.
PHP позволяет создавать качественные Web-приложения за очень короткие сроки, получая продукты, легко модифицируемые и поддерживаемые в будущем.
PHP прост для освоения, и вместе с тем способен удовлетворить запросы профессиональных программистов.
Даже если Вы впервые услышали о PHP, изучить этот язык не составит для Вас большого труда. Мы не сомневаемся, что изучив основы PHP в течение нескольких часов, вы уже сможете создавать простые PHP-скрипты.
Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web -программирования, по крайней мере, в ближайшее время.
Преимущества PHP
Главным фактором языка РНР является практичность. РНР должен предоставить программисту средства для быстрого и эффективного решения поставленных задач. Практический характер РНР обусловлен пятью важными характеристиками:
– традиционностью;
– простотой;
– эффективностью;
– безопасностью;
– гибкостью.
Существует еще одна «характеристика», которая делает РНР особенно привлекательным: он распространяется бесплатно! Причем, с открытыми исходными кодами ( Open Source ).
Традиционность
Язык РНР будет казаться знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си, Perl.
Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. PHP — язык, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным (правда, за некоторыми оговорками) и ясным синтаксисом.
И хотя PHP является довольно молодым языком, он обрел такую популярность среди web-программистов, что на данный момент является чуть ли не самым популярным языком для создания web-приложений (скриптов).
Простота
Сценарий РНР может состоять из 10 000 строк или из одной строки — все зависит от специфики вашей задачи. Вам не придется подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист.
PHP — язык, который может быть встроен непосредственно в html -код страниц, которые, в свою очередь будут корректно обрабатываться PHP -интерпретатором. Мы можем использовать PHP для написания CGI-сценариев и избавиться от множества неудобных операторов вывода текста. Мы можем привлекать PHP для формирования HTML-документов, избавившись от множества вызовов внешних сценариев.
Большое разнообразие функций PHP избавят вас от написания многострочных пользовательских функций на C или Pascal .
Эффективность
Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и web .
Очень важное преимущество PHP заключается в его «движке». «Движок» PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство «движка» PHP позволяет обрабатывать сценарии с достаточно высокой скоростью.
По некоторым оценкам, большинство PHP-сценариев (особенно не очень больших размеров) обрабатываются быстрее аналогичных им программ, написанных на Perl. Однако, чтобы не делали разработчики PHP, откомпилированные исполняемые файлы будут работать значительно быстрее – в десятки, а иногда и в сотни раз. Но производительность PHP вполне достаточна для создания вполне серьезных web-приложений.
Безопасность
РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.
1. Средства безопасности системного уровня
В РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера). По аналогии с cgi-bin администратор также может устанавливать ограничения на каталоги, в которых пользователь может просматривать и исполнять сценарии РНР, а также использовать сценарии РНР для просмотра конфиденциальной информации на сервере (например, файла passwd).
2. Средства безопасности уровня приложения
В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source.
Гибкость
Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).
Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту сценарии РНР полностью компилируются на стороне сервера. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных ПК. Программисты, занимающиеся вспомогательными утилитами, могут запускать РНР в режиме командной строки.
Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus — РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003.
Наконец, средства РНР позволяют программисту работать с внешними компонентами, такими как Enterprise Java Beans или СОМ-объекты Win32. Благодаря этим новым возможностям РНР занимает достойное место среди современных технологий и обеспечивает масштабирование проектов до необходимых пределов.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
arhivinfo.ru