Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Статические и динамические Web-страницы. Особенности скриптовых программ. Анализ языков управления сценариями (JavaScript, VBScript, PHP, Perl)



Понятие о скриптовых языках

Что такое "скриптовый язык"? Это туманный вопрос, в котором содержатся два термина - "скриптовый" (scripting) и "язык" (language), произошедшие из областей, не имеющих отношения к компьютерам. Смысл, в котором эти термины используют многие люди, расплывчат. Даже такое простое слово, как "язык", легко можно использовать неверно. Например, VBScript, VB, и VBA в грамматическом отношении и в отношении практически используемой семантики являются одним и тем же языком, а VBScript в некоторой степени похож на упрощенный пиджин1 VB.

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

Скриптовые языки быстро становятся языками общей реализации для многих областей, блистая там, где время разработчика более важно, чем время исполнения (и даже там, где важно время исполнения; например, благодаря встроенным операциям высокого уровня быстродействие программ, написанных на Python, такое же, или даже быстрее, чем программ, написанных на Java). Многие сейчас предпочитают использовать обозначение "динамические языки" вместо "скриптовые языки", ссылаясь на отсутствие выполняемого в процессе компиляции контроля типов2. Какое место занимают скриптовые языки в современных компьютерных кругах?

Не исключено, что интерпретируемые или оперативно компилируемые языки все больше и больше будут заступать на смену предварительно компилируемым языкам. Компиляцию со временем будут рассматривать просто как инструмент оптимизации (чем она собственно и является), использование которого во всех случаях едва ли разумно. Она все еще будет полезна при отправке автономного кода за пределы среды, которой вы управляете, однако, компиляция все чаще будет рассматриваться просто как способ упаковки. С другой стороны, граница между компиляцией и интерпретацией, которая всегда была немного произвольна, будет размыта еще больше. У языка Perl уже есть фаза оперативной компиляции перед интерпретацией. Будущее будет за совместимостью платформ, так что компиляторы все чаще будут нацелены на абстрактные "виртуальные машины" (как JVM у Sun или CLR у Microsoft), которые наслаиваются на аппаратные средства. На каком этапе программирования вы компилируете или интерпретируете? И имеет ли это значение?

Динамические языки в качестве доминирующих языков реализации во многих областях могут со временем перегнать Java и С++. Закон Мура3 на стороне динамических языков.

Статические языки во время компиляции пытаются поставить все точки над "i". Долгое время разработчики полагали, что безопасность типов статических языков означает большую надежность их кодов. Однако все чаще разработчики приходят к заключению, что дело не в этом. Конечно, теоретически возможно иметь в распоряжении переменную под названием "ИмяПользователя", но обнаружить во время исполнения, что она ссылается на объект класса "ЗаказНаПоставку". Однако на практике подобное все же маловероятно.

В чем же состоит привлекательность скриптовых языков?

Какие можно назвать недостатки скриптовых языков?

Ниже следует обзор некоторых наиболее популярных скриптовых языков.





Дата публикования: 2015-01-24; Прочитано: 308 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...