7. Графические интерфейсы пользователя
Первые графические интерфейсы пользователя появились в начале 1980 г. и приобрели широкое распространение к концу десятилетия. Сегодня на описание этой части программы во многих проектах уходит более половины всех усилии разработчиков. GUI по своей природе является составной компонентной системой. Цель его создания состоит не в реализации новых функциональных возможностей, а в том, чтобы наладить связи между графическими элементами управления и функциями внутренних частей приложения.
Некоторые из систем снабжены очень удобными графическими средствами для построения экранов, которые скрывают сложности лежащего в основе языка, однако, как только возникает необходимость в написании дополнительного кода, например, чтобы расширить спектр вариантов поведения элементов интерфейса, у разработчика сразу возникают трудности. Все лучшие среды ускоренной разработки основаны на языках описания сценариев: Visual Basic, HyperCard, TCL/TK.
Развитие и рост популярности Internet также способствовали распространению языков описания сценариев. Сама сеть является не чем иным, как средством связи систем. Она не создает никаких новых данных и не занимается их обработкой; все, что она делает- обеспечивает легкий доступ к огромному множеству существующих объектов. Идеальным языком программирования для решения большинства связанных с сетью задач мог бы стать тот, который лучше организует совместную работу всех связанных компонентов, т. е. язык описания сценария. Так, для написания сеть сценариев широко употребляется язык Perl, а среди разработчиков WEB-страниц популярен JavaScript.
8. Компонентные инфраструктуры
Третий пример применения языков описания сценариев - компонентные инфраструктуры, такие как ActiveX, Java Beans. Хотя языки программирования системного уровня с успехом используются для создания компонентов, задачи сборки из них приложений удобнее решаются при помощи сценариев. Без хорошего языка описания сценариев, предназначенного для манипулирования компонентами инфраструктуры, теряется значительная часть ее достоинств. Этим можно объяснить отчасти, почему компонентные инфраструктуры добились большей популярности в мире ПК, где существует такое удобное связующее средство, как Visual Basic, нежели на других платформах, таких как Unix/Cobra, компонентные инфраструктуры, для которых лишены языков описания сценариев.
9. Технология сценариев
Еще одна причина роста популярности языков описания сценариев – развитие их технологии. Такие современные представители этой категории, как TCL, Perl мало, чем напоминают своих далеких предшественников вроде JCL. Так, JCL не предусматривал даже простейших форм интерактивного взаимодействия, а ранние UNIX – оболочки не поддерживали процедур. Данная технология еще и сегодня остается относительно незрелой. Например, Visual Basic не является в полном смысле языком описания сценариев. Первоначально он был разработан в качестве упрощенного языка системного уровня, а затем – модифицирован так, чтобы его было удобнее применять к описанию сценариев. Таким образом, у будущих языков подобного рода есть большой простор для совершенствования.
Кроме того, технология сценариев много выиграла от повышения производительности компьютерного оборудования. Еще не так давно, чтобы добиться приемлемой скорости работы приложения любого уровня сложности, необходимо было обращаться к языкам системного уровня. В некоторых случаях даже их эффективность оказывалась недостаточной и программу приходилось писать на ассемблере. Современные машины работают в 100 – 500 раз быстрее компьютеров 80 – х годов, и их производительность продолжает удваиваться примерно каждые 18 месяцев. Сегодня целый ряд приложений может быть реализован на языках описания сценариев при тем не менее великолепной производительности. Например, TCL – сценарии позволяет манипулировать тысячами объектов при сохранении хорошего уровня интерактивности. По мере того как компьютеры будут становиться быстрее и быстрее, применение языков описания сценариев будет становиться привлекательным для реализации все более и более масштабных приложений.
10. Другие языки
Существует огромное количество атрибутов, помимо степени строгости контроля типов или уровня языка, и есть очень много интересных примеров, которые не могут быть однозначно отнесены к одной из двух рассмотренных нами категории. Например, семейство Lisp занимает некоторое промежуточное положение, обладая атрибутами языков описания сценариев и языков программирования системного уровня. В Lisp впервые были реализованы такие концепции, как интерпретация и динамический контроль типов, которые широко используются в современных языках описания сценариев, А также автоматическое управление хранением и интегрированные среды разработки, применяемые в языках обеих категории.
11. Заключение
Языки описания сценариев основаны на несколько другом наборе компромиссов, чем языки системного уровня. В них скорость исполнения и строгость контроля типов ставятся в шкале приоритетов на более низкое место, но зато выше цениться производительность труда программиста и повторное использование. Это соотношение ценностей оказывается все более оправданным по мере того, как компьютеры становятся быстродействующими и менее дорогими, чего нельзя сказать о программистах. Языки системного программирования хорошо подходят для создания компонентов, где основная сложность заключена в реализации алгоритмов и структур данных, тогда как языки описания сценариев лучше приспособлены для построения приложении из готовых компонентов, где сложность состоит в налаживании межкомпонентных связей. Задачи последнего рода получают все большее распространение, так что роль парадигмы сценариев будет возрастать и в будущем веке.
... времени на возню с файлами на дисках или ожидание ввода, не смогут продемонстрировать какое-то впечатляющее увеличение скорости. 2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 2.1. Машинно – ориентированные языки Машинно – ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и ...
... . Например, не существует типа матрица с операцией обращения или типа строка с операцией конкатенации. Если пользователю понадобятся подобные типы, он может определить их в самом языке. Программирование на С++ по сути сводится к определению универсальных или зависящих от области приложения типов. Хорошо продуманный пользовательский тип отличается от встроенного типа только способом определения, но ...
... программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами. Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время как естественные языки используются лишь для общения людей между ...
... . И хотя, используя недокументированные возможности и определённые ухищрения, всё это можно реализовать и на VB; пользоваться этими трюками гораздо сложнее, чем, например, на Delphi. 4. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА ПРОГРАММИРОВАНИЯ DELPHI 4.1 Задача 1. Примитивный калькулятор 1. Войдите в среду Delphi, дважды щелкнув мышью на пиктограмму Delphi или через меню “ ...
0 комментариев