Главная » Просмотр файлов » Языки программирования. Прошлое и будущее. С.Бобровский

Языки программирования. Прошлое и будущее. С.Бобровский (1012869), страница 6

Файл №1012869 Языки программирования. Прошлое и будущее. С.Бобровский (Языки программирования. Прошлое и будущее. С.Бобровский) 6 страницаЯзыки программирования. Прошлое и будущее. С.Бобровский (1012869) страница 62017-06-17СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Так-тикль — язык системной интеграции

В университете Беркли (штат Калифорния) в конце 80-х годов работал уже упоминавшийся Джон Аустираут, в то время известный не более своих коллег. Сегодня же его знает большинство программистов всего мира, так как именно он придумал популярный скрипт-язык Tel и биб­лиотеку Tk. Впервые идея языка Tel (Tool Command Language, произ­носится «тикль») пришла в голову Аустирауту в 1987 году. В Tel он попытался воплотить свое видение идеального скрипт-языка, и в даль­нейшем всемирная популярность Tel подтвердила правильность его взглядов. Первая работающая версия языка появилась в 1989 году, библиотека Tk вышла в 1991 году. Реализация Tel чаще всего испол­няется в виде встраиваемой в приложения библиотеки на С, содержа­щей интерпретатор Tel.

Язык Tel синтаксически немного похож на Perl. Он ориентирован пре­имущественно на автоматизацию рутинных процессов операционной системы и крупных программных систем. Он содержит мощные ко­манды, предназначенные для работы с абстрактными нетипизирован­ными объектами. Принципиальные отличия языка Tel от командных языков операционной системы — его независимость от типа системы (не надо утруждать себя изучением нового командного языка) и, самое главное, возможность создавать программы с переносимым графиче­ским интерфейсом (GUI). Можно, например, написать утилиту просмо­тра всех каталогов и подкаталогов с уничтожением временных файлов, приделать к ней симпатичную оболочку с кнопочками, меню, картин­ками, диалогом ввода расширения уничтожаемых файлов, и эта ути­лита будет работать практически в любой операционной системе!

Язык Tel — расширяемый. В нем можно самостоятельно определять новые команды языка. Приведем классический пример определения команды Tel:

button.b-text Hello!-font {Times 16}~command {puts hello}

Команда button предназначена для создания кнопки (. b) с надписью Hello! (можно указать картинку), которая пишется шрифтом Times размером 16 пунктов. При нажатии на кнопку в стандартное устройство вывода посылается строка hello (puts hello). Набором таких команд можно очень компактно и наглядно описать графический интерфейс пользователя с полным функциональным наполнением. Эти команды можно вызы­вать из других языков или на их основе писать программное обеспече­ние полностью на Tel. В последнем случае приложение рассматривается как Pure Tell 00%.

Система Tcl/Tk разрабатывалась одновременно как язык и библиотека. Эта идея была позже реализована в Java, языке фирмы Sun, в которой Аустираут трудился с середины 90-х годов. В 1998 году он основал соб­ственную компанию Scriptics, переименованную впоследствии в Ajuba Solutions. Наконец, логическим завершением очередной фазы разви­тия языка стало создание группы, объединившей 14 ведущих разра­ботчиков Tcl/Tk (www.tcltk.com), & Ajuba Solutions была приобретена в 2000 году компанией ActiveState (tcl.activestate.com).

Библиотека Tk содержит стандартизованный набор команд поддержки графической оболочки в стиле Motif. Управляющие элементы, храня­щиеся в библиотеке Tk, называются виджетами (widgets). Большое количество нетиповых виджетов можно найти в Сети. На основе биб­лиотеки Tk создаются переносимые приложения, например, на С, с графическим интерфейсом.

На языке Tel написано много мобильных приложений с графическим интерфейсом, которые используются в самых разных областях: для управления операционной системой, администрирования сетей, обслужи­вания Web-серверов и других целей. В библиотеке Tk имеются команды для работы с сокетами, с помощью которых можно создавать прило­жения для Сети. Для браузеров разработаны подключаемые модули, позволяющие вставлять Tci-скрипты («тиклеты») в страницы HTML (см. www.neuron.com). Известно использование Tcl/Tk в масштабных рос­сийских проектах, в частности, в кодогенераторах фирмы DataX/ Florin для поддержки платформно-независимого пользовательского интерфейса.

Язык Tcl/Tk распространяется в исходных текстах бесплатно (см. напри­мер purl.org/tcl/home). Он может легко интегрироваться с C++, Ада, Про­лог, Модула-3, Perl и многими другими языками. Язык Tel реализован для MS-DOS, Windows (на сайте www.scriptics.com), Macintosh, AIX 3.x, VMS, для практически всех Unix-платформ (SunOS, SCO Unix, HP-UX, ESDI, Linux, QNX), а также для суперкомпьютеров Cray и NEC. На Pure Tel 100% написана оболочка Visual Tel, которая позволяет разра­батывать кросс-платформное программное обеспечение для Unix /Linux, Windows и Macintosh. Имеется расширение языка incrTcl/incrTk, ори­ентированное на создание больших приложений.

С начала 90-х годов проект Tel начала поддерживать фирма Sun. Была создана рабочая группа SunScript (название языка осталось прежним). В середине 90-х годов в этой группе поработал и Джон Аустираут. Группа SunScript создает коммерческие версии библиотеки Tk, в частности, для Windows и Macintosh. Некоторое время назад эта группа присту­пила к интеграции Tel и Java. Разработана версия Tel, написанная на Java Jacl (JAva Command Language). Расширение языка Tel Blend позволяет работать с виртуальной машиной Java и интегрировать сце­нарии Tel с Java-кодом.

В конце августа 1997 года вышла новая, восьмая версия Tcl/Tk (сегодняшняя модификация — 8.3.2). Интерпретация заменена ком­пиляцией в байт-код «налету» (по аналогии с Java). Полностью переде­лана обработка строк. Работа с двоичными объектами и большими тек­стовыми массивами по сравнению с версией 7.x ускорилась в 2—20 раз. Добавлены новые команды быстрой сортировки, ввода/вывода двоич­ных данных с поддержкой различных типов периферийных устройств, поддерживается протокол HTTP, реализованы новые средства обеспе­чения безопасности. Увеличена точность при работе с числами с плава­ющей запятой до 12 цифр вместо 6. Подробно документирован интер­фейс взаимодействия с С. Полностью переписана библиотека Tk. Работа

с объектами управления стала более удобной, усовершенствована ра­бота с меню и шрифтами, добавлены новые команды работы с графи­ческими файлами и др. Наконец, приложения на Tcl/Tk могут сопро­вождаться логотипом Tel Powered (по лицензии Sun). Появилась, правда, небольшая несовместимость с программами, написанными на старых версиях Tel. Теперь даты, выраженные двумя цифрами года, трактуются как даты следующего столетия. Например, 17 г. означает не 1917 год, а 2017 год. В версии Tel 8.1 была реализована поддержка Unicode.

Учитывая, что язык Tcl/Tk одно время активно поддерживался компа­нией Sun, можно предсказать ему хорошее будущее. А история создания Tcl/Tk является классическим примером на тему «как стать знаме­нитым» . Хотите им стать? Разработайте свой скрипт-язык для исполь­зования в какой-нибудь быстро развивающейся области информаци­онных технологий, положите исходные тексты интерпретатора на свою страничку, напишите в конференцию по программированию, и ждите, когда вас пригласят в Sun или Microsoft.

VRML: трехмерный язык Интернета

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

В последнее время апологетами Повсеместно Протянутой Паутины предпринимаются все более решительные действия по дальнейшей «виртуализации» этой сети. Как грибы, вырастают новые технологии создания полноценных виртуальных пространств, и на их основе созда­ются новые продукты, призванные как можно точнее моделировать окружающий нас мир.

Проблема перехода из плоскостной модели статичных WWW-страничек в третье измерение — в трехмерный и полностью интерактивный виртуальный мир, стоит сегодня перед Интернетом, пожалуй, на одном из первых мест. В начале 1994 года был разработан язык VRML (Virtual Reality Modeling Language), предназначенный специально для организации виртуального трехмерного интерфейса в WWW. Его развитием занимается VRML-консорциум www.vrml.org. Этот язык позволял опи­сывать в текстовом виде трехмерные сцены, освещение и тени, тексту­ры (покрытия объектов) и, соответственно, создавать свои миры, путе­шествовать по ним, осматривать их со всех сторон, вращать в любых направлениях, масштабировать, регулировать освещение и так далее. Основным преимуществом этого языка было компактное описание сцен: требовалось передавать по сети не многомегабайтные мультиме­дийные ролики, а небольшие текстовые странички объемом в несколь­ко килобайт. Задача визуализации возлагалась на браузер.

Однако первая версия VRML по сути ничем не отличалась от языка HTML для описания обычных двумерных страничек, с той лишь раз­ницей, что с помощью VRML 1.0 создавались трехмерные пространства. В странички VRML (со стандартным расширением .WRL) можно было вставлять ссылки на другие трехмерные объекты (просто указывать URL-aдpec) или на страницы HTML. Однако, несмотря на то, что все объекты этих миров можно было обходить, рассматривать и «трогать» мышкой, тем не менее, не то что контакта с пользователем, даже элемен­тарных процессов движения отдельных объектов с помощью VRML 1.0 сымитировать не получалось. В принципе, есть возможность немного «оживить» такие миры с помощью сценариев CGI, но это требует боль­ших усилий профессиональных программистов. Кроме того, первая версия языка позволяла оперировать со слишком ограниченным набо­ром трехмерных объектов, таких как куб, конус, цилиндр, сфера и сконструированные из полигонов объекты, которые можно было покры­вать различными материалами. Фактически VRML — это типичный декларативный язык, не содержащий никаких команд, и состоящий только из описаний сцен.

За первой версией языка появилась следующая (VRML 1.1), но она сразу же «умерла», так и не получив распространения. В нее была добавлена поддержка звукового сопровождения и простенькой анима­ции, но этого жаждущим зрелищ Гражданам Земли оказалось мало.

Наконец в 1996 году была разработана принципиально новая версия VRML 2.O. В ней появилась, в частности, полноценная поддержка муль­тимедиа, а самое главное, были добавлены элементы интерактивности. И сами описания сцен стали более походить на описания объектов в привычном стиле объектно-ориентированного программирования — со своими событиями и методами, хотя сам язык по-прежнему остался декларативным. Правда, по своей структуре он стал куда более объектно-ориентированным, в частности, в нем появились понятия прототипа, аналога базового класса или шаблона из C++.

Реакции объектов (в терминологии VRML — узлов) на события вирту­ального мира реализуются путем описания маршрутов событий (кото­рые могут быть различных типов) между узлами. Сами же события генерируются так называемыми сенсорами, которые срабатывают, например, при щелчке пользователя мышью, при виртуальном кон­такте с узлом, по таймеру и т. п. Элемент времени, кстати, несет зна­чительно большую смысловую нагрузку при создании виртуальных миров, чем, допустим, событие WM_TIMER для программирующих в Windows. Дело в том, что теперь с помощью VRML появилась возмож­ность описывать анимированные сцены, в которых узлы (все-таки при­вычнее говорить «объекты», но ничего не поделаешь — стандартная терминология) теперь могут самостоятельно «шевелиться». Вы можете создать трехмерный образ человека с помощью иерархии подчиненных узлов, как это делается, например, в 3D Studio, и в зависимости от коли­чества времени, прошедшего с момента запуска программы, заставить определенные узлы перемещаться в заданной последовательности, имитируя хождение по комнатам и другие действия.

Более того, в языке VRML 2.0 введена поддержка исполнения сцена­риев, написанных на других языках программирования, например, на Java или VBScript. Это позволяет наполнить виртуальные миры функ­циональностью, действием, и реализовать сценарии, которые возмож­ны только при использовании обычных процедурных языков програм­мирования. Продумана даже возможная несовместимость браузеров — введены механизмы разрешения различных противоречий.

Последняя версия VRML 2.52 поддерживает множество открытых стан­дартов и технологий, в том числе MPEG-4 и Java3D.

Классика жанра

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

Лисп: история одного преступления в отношении языка программирования

Характеристики

Тип файла
Документ
Размер
487,5 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее