Разработка приложения "Таймер" для отключения компьютера

Общие сведения о таймерах, история их возникновения и применение. Развитие и совершенствование языков программирования. Разработка приложения "Таймер" для выключения и отмены отключения компьютера, показа времени начала работы программы и ее автозагрузки.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 30.01.2015
Размер файла 182,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

Введение

Глава 1 Общие сведения о гаджетах - таймерах

1.1 История возникновения различных таймеров

1.2 Применение

1.3 Интересные факты

1.4 История развития языков программирования. Ранние этапы развития

1.5 Совершенствование

1.6 Объединение и развитие

1.7 Языки программирования системного уровня

1.8 Языки программирования более высокого уровня

Глава 2 Описание основных принципов создания приложения для выключения компьютера приложением «Таймер»

2.1 Компоненты использованные для создания приложения

2.2 Интерфейс приложения

2.3 Описание кода программы

Заключение

Список использованной литературы

Листинг программы

Приложение (диск с программой)

Введение

Целью данной курсовой работы является разработка приложения для отключения компьютера по определенному времени, а также отмены отключения, показа времени начала работы программы и автозагрузки программы. Для реализации этой цели были поставлены следующие задачи:

· Обзор и анализ литературы и других источников по теме данной курсовой работы

· Создание интерфейса приложения

· Написание соответсвующего кода программы для работы приложения

· Тестирование приложения, отладка и анализ ошибок

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

Курсовая работа состоит из следующих частей: Введение, двух частей, заключение, списка использованной литературы и приложений.

В первой части приведен теоретический материал по отключению компьютера и начала работы таймера.

Во второй части дается описание по разработке и созданию приложения для отключения компьютера.

В настоящее время применяются большей частью электронные цифровые таймеры, по принципу действия аналогичные электронным часам, вместе с тем, остаются ещё и механические таймеры, базовым элементом которых является часовой механизм, а также электромеханические, основой которых является реле времени. Теоретически возможно построение простых таймеров на каких-либо других принципах (электрохимический счётчик времени, аналоговый электронный счётчик), однако на практике такие устройства не используются. Для автоматизации работ на персональном компьютере применяются программно реализованные таймеры или сетевые сервисы, например, OnlineТаймер.

Классификация таймеров: Таймеры интервалов времени, таймеры текущего (реального) времени, по принципу действия, механические таймеры, электромеханические таймеры, цифровые электронные таймеры, таймеры со звуковой или визуальной сигнализацией (обычно кухонные таймеры), по назначению, производственно-технические, Для промышленной автоматики -- обычно таймеры-реле реального времени, лабораторные -- обычно интервалов времени, электрический выходной сигнал и много других видов. Так или иначе таймеры используются для того что по истечению, или другого действия таймера был результат.

Глава 1. История возникновения различных таймеров

1.1 История возникновения и развития секундомера

Часы известны человеку очень давно. Сначала их роль играло солнце, потом вода, песок, даже огонь. Но ни о какой точности таких измерений говорить не приходилось. Такие измерения давали погрешность от нескольких минут до получаса. Ситуация несколько исправляется с появлением механических часов. Сначала появилась возможность находить время с точностью до минуты, с появлением секундной стрелки -- до секунды. Но все равно таким часам было далеко до настоящего секундомера. Их, к примеру, нельзя было остановить и запустить в произвольный момент. И точность измерений была далека от идеала. Упоминания о первых «настоящих» секундомерах появляются в конце 17-начале 18 веков.

Насколько можно судить, это были практически такие же приборы, что использовались до середины XX века, то есть механические секундомеры. С началом активного развития электроники появляются электронные секундомеры.

Таймер (от англ. Timer) -- в информатике средство обеспечения задержек и измерения времени средствами компьютера.

Главной характеристикой таймера является его точность -- минимальный гарантированно выдерживаемый интервал времени. По этому параметру таймеры делят на:

· малоточные (ошибка измерения может достигать 0,1 с)

· точные (ошибка измерения не превышает 0,001 с)

· сверхточные (ошибка измерения не превышает 10?6 c)

Существуют два вида таймеров:

· Аппаратные таймеры функционируют независимо от центрального процессора и в момент срабатывания генерируют прерывание.

· Программные таймеры реализуются за счёт выполнения в цикле заданного количества одинаковых «пустых» операций. При фиксированной частоте работы процессора это позволяет точно определять прошедшее время. Главными минусами такого метода являются: зависимость количества итераций цикла от типа и частоты процессора, невозможность выполнения других операций во время задержки.

1.2 Применение

· В научных лабораториях

· В заводских лабораториях

· В учебных лабораториях ВУЗов, техникумов и школ

· В спорте

· В военном деле (засекание времени хода торпеды, определение момента поражения торпедой цели)

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

· В быту (на кухне, для определения времени готовки пищи)

1.3 Интересные факты

Цветочные часы (дар г. Женевы к 300-летию основания Санкт-Петербурга в мае 2003)

На разных этапах развития цивилизации человечество использовало солнечные, звёздные, водяные, огневые, песочные, колёсные, механические, электрические, электронные и атомные часы.

· Направление движения стрелок часов «по часовой стрелке» и «против часовой стрелки» используется для указания направления кругового движения.

· Традиционное направление движения часовой стрелки совпадает с направлением, в котором движется тень горизонтальных солнечных часов, расположенных в северном полушарии Земли. Однако, существуют часы, у которых стрелки движутся «против часовой стрелки» (как у солнечных настенных).

· На циферблатах с римскими цифрами четвёртый час иногда обозначают как IIII вместо IV.[7]

· На рекламе стрелочных часов обычно около 10:10 или 8:20. Это делается для того, чтобы стрелки не закрывали название. Кроме того, время 10:10 на часах в витрине напоминают улыбочку (смайлик), что положительно влияет на лояльность покупателя[8].

· Условный циферблат часов часто используется при ориентировании на местности для указания цели, маршрута или направления при взаимодействии подразделений (как правило американской армии) или отдельных наблюдателей. Направление объекта (или маршрута) указывается цифрой циферблата, угловому значению которого он соответствует относительно положения наблюдателя, как если бы циферблат представлялся горизонтально, его центр совпадал с наблюдателем, а 12 часов указывало текущее направление движения (или взгляда) самого наблюдателя. Так, объект находящийся строго справа, будет обозначен как «на 3 часа». После указания направления добавляется цифра, характеризующая расстояние до объекта.

· В Москве XVII века на часах Спасской башни двигалась не единственная часовая стрелка, а циферблат.

1.4 История развития языков программирования. Ранние этапы развития

Можно сказать, что первые языки программирования возникали еще до появления современных электронных вычислительных машин: уже в XIX веке были изобретены устройства, которые можно с долей условности назвать программируемыми -- к примеру,механические пианино и ткацкие станки. Для управления ими использовались наборы инструкций, которые в рамках современной классификации можно считать прототипами предметно-ориентированных языков программирования. Значимым можно считать «язык», на котором леди Ада Августа графиня Лавлейс написала программу для вычисления чисел Бернулли для Аналитической машины Чарльза Бэббиджа, ставшей бы, в случае реализации, первым компьютером -- хотя и механическим, с паровым двигателем -- в мире.

В 1930--1940 годах, А. Чёрч, А. Тьюринг, А. Марков в СССР разработали математические абстракции (лямбда-исчисление, машину Тьюринга, нормальные алгорифмы) соответственно -- для формализации алгоритмов.

В это же время, в 1940-е годы, появились электрические цифровые компьютеры и был разработан язык, который можно считать первым высокоуровневым языком программирования для ЭВМ -- «Plankalkьl», созданный немецким инженером К. Цузе в период с1943 по 1945 годы[2].

Программисты ЭВМ начала 1950-х годов, в особенности таких, как UNIVAC и IBM 701, при создании программ пользовались непосредственно машинным кодом, запись программы на котором состояла из единиц и нулей и который принято считать языком программирования первого поколения (при этом разные машины разных производителей использовали различные коды, что требовало переписывать программу при переходе на другую ЭВМ). Вскоре на смену такому методу программирования пришло применение языков второго поколения, также ограниченных спецификациями конкретных машин, но более простых для использования человеком за счет использования мнемоник (символьных обозначений машинных команд) и возможности сопоставления имен адресам в машинной памяти. Они традиционно известны под наименованием языков ассемблера и автокодов. Однако, при использовании ассемблера становился необходимым процесс перевода программы на язык машинных кодов перед ее выполнением, для чего были разработаны специальные программы, также получившие название ассемблеров. Сохранялись и проблемы с переносимостью программы с ЭВМ одной архитектуры на другую, и необходимость для программиста при решении задачи мыслить терминами «низкого уровня» -- ячейка, адрес, команда. Позднее языки второго поколения были усовершенствованы: в них появилась поддержка макрокоманд.

С середины 1950-х начали появляться языки третьего поколения, такие как Фортран, Лисп и Кобол[3]. Языки программирования этого типа более абстрактны (их еще называют «языками высокого уровня») и универсальны, не имеют жесткой зависимости от конкретной аппаратной платформы и используемых на ней машинных команд. Программа на языке высокого уровня может исполняться (по крайней мере, в теории, на практике обычно имеются ряд специфических версий или диалектов реализации языка) на любой ЭВМ, на которой для этого языка имеется транслятор (инструмент, переводящий программу на язык машины, после чего она может быть выполнена процессором).

Обновленные версии перечисленных языков до сих пор имеют хождение в разработке программного обеспечения, и каждый из них оказал определенное влияние на последующее развитие языков программирования[4]. Тогда же, в конце 1950-х годов, появился Алгол, также послуживший основой для ряда дальнейших разработок в этой сфере. Необходимо заметить, что на формат и применение ранних языков программирования в значительной степени влияли интерфейсные ограничения[5].

1.5 Совершенствование

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

· Язык APL оказал влияние на функциональное программирование и стал первым языком, поддерживавшим обработку массивов[6].

· Язык ПЛ/1 (NPL) был разработан в 1960-х годах как объединение лучших черт Фортрана и Кобола.

· Язык Симула, появившийся примерно в это же время, впервые включал поддержку объектно-ориентированного программирования. В середине 1970-х группа специалистов представила язык Smalltalk, который был уже всецело объектно-ориентированным.

· В период с 1969 по 1973 годы велась разработка языка Си, популярного и по сей день[7] и ставшего основой для множества последующих языков, например, столь популярных, как С++ и Java.

· В 1972 году был создан Пролог -- наиболее известный (хотя и не первый, и далеко не единственный) язык логического программирования.

· В 1973 году в языке ML была реализована расширенная система полиморфной типизации, положившая начало типизированным языкам функционального программирования.

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

Кроме того, в 1960--1970-х годах активно велись споры о необходимости поддержки структурного программирования в тех или иных языках[8]. В частности, голландский специалист Э. Дейкстра выступал в печати с предложениями о полном отказе от использования инструкций GOTO во всех высокоуровневых языках. Развивались также приемы, направленные на сокращение объема программ и повышение продуктивности работы программиста и пользователя.

1.6 Объединение и развитие

В 1980-е годы наступил период, который можно условно назвать временем консолидации. Язык С++ объединил в себе черты объектно-ориентированного и системного программирования, правительство США стандартизировало язык Ада, производный от Паскаля и предназначенный для использования в бортовых системах управления военными объектами, в Японии и других странах мира осуществлялись значительные инвестиции в изучение перспектив так называемых языков пятого поколения, которые включали бы в себя конструкции логического программирования[9]. Сообщество функциональных языков приняло в качестве стандарта ML и Лисп. В целом этот период характеризовался скорее опорой на заложенный в предыдущем десятилетии фундамент, нежели разработкой новых парадигм.

Важной тенденцией, которая наблюдалась в разработке языков программирования для крупномасштабных систем, было сосредоточение на применении модулей -- объемных единиц организации кода. Хотя некоторые языки, такие, как ПЛ/1, уже поддерживали соответствующую функциональность, модульная система нашла свое отражение и применение также и в языкахМодула-2, Оберон, Ада и ML. Часто модульные системы объединялись с конструкциями обобщенного программирования[10].

Важным направлением работ становятся визуальные (графические) языки программирования, в которых процесс «написания» программы как текста заменяется на процесс «рисования» (конструирования программы в виде диаграммы) на экране ЭВМ. Визуальные языки обеспечивают наглядность и лучшее восприятие логики программы человеком.

В 1990-х годах в связи с активным развитием Интернета распространение получили языки, позволяющие создавать сценарии для веб-страниц -- главным образом Perl, развившийся из скриптового инструмента для Unix-систем, и Java. Возрастала также и популярность технологий виртуализации. Эти изменения, однако, также не представляли собой фундаментальных новаций, являясь скорее совершенствованием уже существовавших парадигм и языков (в последнем случае -- главным образом семейства Си).

В настоящее время развитие языков программирования идет в направлении повышения безопасности и надежности, создания новых форм модульной организации кода и интеграции с базами данных.

1.7 Языки программирования системного уровня

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

К концу 50-х годов начали появляться языки программирования более высокого уровня, такие как Lisp, Fortran, ALGOL. В них уже не было точного соответствия между языковыми конструкциями и машинными командами. Преобразование строк исходного кода в последовательности двоичных команд осуществлялось компилятором. Со временем их число пополнилось языками PL /1, Pascal, C, C++, Java. Все они менее эффективно используют аппаратуру по сравнению с языками ассемблера, но позволяет быстрее создавать приложения. В результате им удалось практически полностью вытеснить языки ассемблера при создании крупных приложении.

1.8 Языки программирования более высокого уровня

Языки программирования системного уровня отличаются от ассемблеров, во-первых, тем, что они являются более высокоуровневыми, и, во-вторых, используют более строгий контроль типов. Термин “высокоуровневый” означает следующее: многие детали обрабатываются автоматически, а программисту для создания своего приложения приходится писать меньшее количество строк. В частности:

- Распределением регистров занимается компилятор, так что программисту не надо писать код, обеспечивающий перемещение данных между регистрами и памятью;

- Последовательности вызова процедур генерируются автоматически; программисту нет необходимости описывать помещение аргументов функции в стек и их извлечение оттуда;

- Для описания структур управления программист может использовать также ключевые слова, как if, while; последовательности машинных команд, соответствующие этим описаниям компилятор генерирует динамически.

Типизация

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

Современные компьютеры устроены таким образом, что им не известно понятие типа. Каждое слово памяти может содержать значение любого типа; целое число, число с плавающей запятой, указатель или машинную команду. Интерпретация значения определяется способом его использования. Если указатель следующей машинной команды указывает в процессе исполнения машинной команды на некоторое слово в памяти, то оно и рассматривается как команда; если адрес слова задан в параметрах команды целочисленного сложения, то его значение и обрабатывается как целое число; и т.д. Одно и то же слово памяти может использоваться в различных случаях разными способами.

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

Данные и программный код разделены; создание нового кода по ходу исполнения программы затруднено, если вообще возможно. Переменные могут объединяться в структуры или объекты с четко определенной субструктурой и методами манипулирования своими компонентами. Объект одного типа не может быть использован в ситуации, где предписано применение объект другого типа.

Языки описания сценариев создавались для связывания готовых программ. Их применение подразумевает наличие достаточного ассортимента мощных компонентов, которые требуется только объединить друг с другом.

Типизация дает ряд преимуществ. Во-первых, крупные программы становятся благодаря ей более управляемыми. Четкость системы типов делает для программиста ясным, для чего предназначены те или иные данные; он легко может различать их между собой и соответственно использовать. Во-вторых, компиляторы используют информацию о типах для обнаружения некоторых видов ошибок, таких как попытка, использовать число с плавающей запятой в качестве указателя. В-третьих, типизация повышает производительность приложении, позволяя компиляторам генерировать более специализированный код. Например, если компилятору известно, что некоторая переменная всегда содержит целочисленные значения, он может генерировать для манипулирования ею целочисленные инструкции; если же тип переменой компилятору неизвестен, то приходиться вставлять дополнительные инструкции для проверки типа во время исполнения.

Языки описания сценариев

Языки описания сценариев, такие как Perl, Python, Rexx, Tcl, Visual Basic и языки оболочек UNIX, предполагают стиль программирования, весьма отличный от характерного для языков системного уровня. Они предназначаются не для написания приложений с “нуля”, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Например, Tcl, Visual Basic могут использоваться для построения пользовательских интерфейсов из имеющихся элементов управления, а языки описания сценариев для оболочек UNIX применяются для формирования “конвейеров” обработки потоков данных из набора стандартных фильтров. Языки описания сценариев часто применяются и для дополнения готовых компонентов новыми возможностями; однако эта деятельность редко охватывает создание сложных алгоритмов или структур данных, которые уже обычно бывают уже заложены в компоненты. Иногда языки описания сценариев даже называют связующими или языками системной интеграции.

Как правило, языки описания сценариев не типизированы

Для языков описания сценариев характерно отсутствие типизации, которая только усложнила бы задачу соединения компонентов. Все элементы в них выглядят и функционируют одинаково и являются полностью взаимозаменяемыми. Например, в Tcl или Visual Basic переменная может содержать в одной точке программы строку, а в другой - целое число. Код и данные также часто бывают взаимозаменяемы. Например, Tcl, Visual Basic переменная может содержать в одной точке программы строку, а в другой - целое число. Код и данные также часто бывают взаимозаменяемы, так что программа может генерировать другую программу -- и сразу же запускать ее исполнение. Обычно языки описания сценариев используют переменные строковых типов, которые обеспечивают единообразный механизм представления для различных сущностей.

Отсутствие в языке деления переменных на типы упрощает соединение компонентов между собой. Нет априорных ограничении на то, каким образом может использоваться тот или иной элемент, а все компоненты значения представляются в едином формате. Таким образом, компонент или значение могут быть использованы в любой ситуации; будучи спроектированы для одних способов применения, они могут оказаться задействованы совершенно иными, о которых их создатель никогда не помышлял. Например, в UNIX - оболочках работа любой программы - фильтра включает чтение данных из входного потока и запись их в выходной поток. Любые две такие программы могут быть связаны путем назначения выходного потока одной в качестве входного потока другой. Следующая команда оболочки представляет систему из трех фильтров, подсчитывающую в выделенном фрагменте текста строки, содержащие слово “scipting”:

Программа select считывает текст, выделенный в данный момент на экране, и выводит его свои выходной поток; фильтр grep считывает входной поток и пропускает на выход строки, содержащие слово “scripting”; а программа WC подсчитывает число строк в своем потоке. Любой из подобных компонентов может найти применение во множестве различных ситуации, решая каждый раз иную общую задачу. Сильная типизация языков программирования системного уровня затрудняет повторное использование кода. Она поощряет программистов к созданию большого количества несовместимых друг с другом интерфейсов, каждый из которых требует применение объектов своего типа. Компилятор не позволяет объектам других типов взаимодействовать с этим интерфейсом, не смотря на то, что результат, мог бы оказаться и весьма полезным. Таким образом, чтобы использовать новый объект с существующем интерфейсом, программисту приходится писать “переходник”, преобразующий объект к типу, на который рассчитан интерфейс. А применение “переходника” требует, в свою очередь, перекомпиляции части или даже всего приложения целиком. Доминирующий в настоящее время способ распространения ПО в виде двоичных файлов делает этот подход невозможным.

Чтобы оценить преимущества бес типового языка программирования, рассмотрим следующий пример на языке Tcl:

Button.b -text Hello! -font {Times 16} - comand {puts hello}

Эта команда создает на экране новую кнопку с надписью на ней Hello! шрифтом Times 16 пунктов, при нажатии, на которую выводится короткое сообщение hello. В одной строке здесь уместилось шесть элементов различных типов: название команды (button), название кнопки (.b), идентификаторы атрибутов (-text, -font, -command), простые строки (Hello! hello), спецификация шрифта (Times 16), состоящая из названия начертания (Times) и размера в пунктах (16), а также целый Tcl-сценарии (puts hello). Все элементы представляются единообразно - в виде строк. В данном примере атрибуты могли быть перечислены в произвольном порядке, а неупомянутым атрибутам (их насчитывается более 20) будут присвоены значения по умолчанию. В случае реализации на Java тот же самый пример потребовал бы семи строк кода, составляющих два метода. Для С++ с использованием библиотеки Microsoft Foundation Classes (MFC) масштабы увеличились примерно до 25 строк кода, образующих три процедуры. Один только выбор шрифта требует нескольких обращении к функциям MFC

Cfont *fontPtr=new Cront ();

fontPtr->CreteFont (16, 0, 0, 0, 700,0, 0, 0,

ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,

DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,“Times New

Roman”);

buttonPtr->SetFont(fontPtr);

Можно было бы обоитись без значительнои части этого кода, если бы не строгая типизация. Чтобы задать шрифт для кнопки, необходимо обратиться к методу SetFont; однако он требует передачи в качестве аргумента указателя на объект CFont. Приходиться объявлять и инициализировать новый объект. Инициализацию объекта CFont выполняет его метод Create Font, которыи имеет жёсткий интерфейс, требующий задания 14 различных аргументов. В TCL существенные характеристики шрифта (начертание Times и кегль 16 пунктов) могут быть указаны непосредственно без каких-либо объявлении или преобразовании. Более того, TCL позволяет описать и поведение кнопки непосредственно в теле создающей ее команды, тогда как в С++ или Java для этого необходим отдельный метод.

Языки описания сценариев на подъеме

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

Графические интерфейсы пользователя

Первые графические интерфейсы пользователя появились в начале 1980 г. и приобрели широкое распространение к концу десятилетия. Сегодня на описание этой части программы во многих проектах уходит более половины всех усилии разработчиков. GUI по своей природе является составной компонентной системой. Цель его создания состоит не в реализации новых функциональных возможностей, а в том, чтобы наладить связи между графическими элементами управления и функциями внутренних частей приложения.

Некоторые из систем снабжены очень удобными графическими средствами для построения экранов, которые скрывают сложности лежащего в основе языка, однако, как только возникает необходимость в написании дополнительного кода, например, чтобы расширить спектр вариантов поведения элементов интерфейса, у разработчика сразу возникают трудности. Все лучшие среды ускоренной разработки основаны на языках описания сценариев: Visual Basic, HyperCard, TCL/TK.

Internet

Развитие и рост популярности Internet также способствовали распространению языков описания сценариев. Сама сеть является не чем иным, как средством связи систем. Она не создает никаких новых данных и не занимается их обработкой; все, что она делает - обеспечивает легкий доступ к огромному множеству существующих объектов. Идеальным языком программирования для решения большинства связанных с сетью задач мог бы стать тот, который лучше организует совместную работу всех связанных компонентов, т.е. язык описания сценария. Так, для написания сеть-сценариев широко употребляется язык Perl, а среди разработчиков WEB-страниц популярен JavaScrint.

Компонентные инфраструктуры

Третий пример применения языков описания сценариев - компонентные инфраструктуры, такие как ActiveX, JavaBeans. Хотя языки программирования системного уровня с успехом используются для создания компонентов, задачи сборки из них приложении удобнее решаются при помощи сценариев. Без хорошего языка описания сценариев, предназначенного для манипулирования компонентами инфраструктуры, теряется значительная часть ее достоинств. Этим можно объяснить отчасти, почему компонентные инфраструктуры добились большей популярности в мире ПК, где существует такое удобное связующее средство, как Visual Basic, нежели на другихплатформах, таких как Unix/Cobra, компонентные инфраструктуры, для которых лишены языков описания сценариев.

Технология сценариев

Еще одна причина роста популярности языков описания сценариев - развитие их технологии. Такие современные представители этой категории, как TCL, Perl мало, чем напоминают своих далеких предшественников вроде JCL. Так, JCL не предусматривал даже простейших форм интерактивного взаимодействия, а ранние UNIX - оболочки не поддерживали процедур. Данная технология еще и сегодня остается относительно незрелой. Например, Visual Basic не является в полном смысле языком описания сценариев. Первоначально он был разработан в качестве упрощенного языка системного уровня, а затем - модифицирован так, чтобы его было удобнее применять к описанию сценариев. Таким образом, у будущих языков подобного рода есть большой простор для совершенствования.


Подобные документы

  • Теоретические сведения о таймерах Windows. Описание используемых WinAPI функций для измерения текущего времени, для создания виртуальных таймеров. Выключение и перезагрузка компьютера по нажатию на кнопку и по таймеру, вывод текущей даты и времени.

    курсовая работа [50,0 K], добавлен 18.05.2014

  • Среда программирования Embarcadero RAD Studio. Создание окна, которое отображает системную дату и время. Выполнение выбранного действия в определенный промежуток времени, заданный пользователем. Руководство программиста. Минимальные системные требования.

    курсовая работа [85,2 K], добавлен 16.06.2014

  • Разработка приложения, которое будет выполнять функции показа точного времени и точной даты. Определение дополнительных функций разработанного приложения. Рассмотрение основных этапов создания программного продукта. Результаты тестирования приложения.

    курсовая работа [2,2 M], добавлен 14.04.2019

  • Описание истории развития информационных технологий. Исследование предпочтений по использованию программного обеспечения пользователя персонального компьютера начального уровня и разработка интерфейсного приложения в среде программирования Delphi.

    дипломная работа [2,0 M], добавлен 14.01.2012

  • Общая характеристика командного интерфейса приложения в системе 1С: Предприятия. Особенности объектов конфигурации: справочников, документов, регистров накопления и отчетов. Разработка интерфейса приложения "Ремонт техники (от компьютера до пылесоса)".

    курсовая работа [2,8 M], добавлен 06.11.2013

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

    курсовая работа [1,5 M], добавлен 07.08.2013

  • Таймер в Windows как устройство ввода информации, которое извещает приложение о том, что истек заданный интервал времени. Работа с таймером в условиях WinAPI, процесс 32-битного программирования на ассемблере под Windows. Результат выполнения программы.

    курсовая работа [165,6 K], добавлен 18.05.2014

  • Краткая история UML. Объектный подход к разработке программных средств. Визуальная среда программирования С++ Builder. Сведения о диаграмме вариантов использования. Диаграмма классов программы "Вычисления нерабочих дней". Алгоритм работы программы.

    курсовая работа [545,0 K], добавлен 31.10.2011

  • Использование драйвера режима ядра и управляющего приложения для создания системных потоков. Имитация обработки данных и организация задержек. Разработка драйвера на языке C++. Конфигурация тестового стенда. Точность изменения задержек и работы таймера.

    курсовая работа [182,4 K], добавлен 24.06.2009

  • Разработка программы создания заметок в любом месте компьютера. Выбор технологии, языка и среды разработки приложения. Описание основных алгоритмов работы программного обеспечения. Проектирование пользовательского интерфейса. Выбор стратегии тестирования.

    отчет по практике [700,5 K], добавлен 24.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.