Сапфир-генератор. система визуального программирования

06.07.2019

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

Для роботов и DSP уже фактически брендовой является среда DSP Robotics Flowstone , в области веба мы можем наблюдать огромное количество CMS, а если говорить о конструкторе, то лучший и популярный — британский Serif Web Plus , в звуковых технологиях очень много продукции создается в Synth Edit и Synth Maker , разработка игр сейчас переживает очередную революцию, при этом интерактивные мультимедийные приложения можно легко и быстро создавать в Scirra Construct, Multimedia Fusion и так далее. При этом обратите внимание на то, что мы назвали ниши, в которых десять лет назад требовались серьезные программисты.

В принципе, фактически все сейчас смещается в сторону (VPL). Ранее мы отдельный тренд визуального программирования — сильно-визуальные языки, а теперь мы уделим наше и ваше внимание более классическим, а также узкоспециализированным средам этого течения программирования.

DSP Robotics Flowstone

HiAsm Studio

Пожалуй, одна из самых популярных (и универсальных!) программ такого рода (несмотря на название, она не имеет прямого отношения к ассемблеру, хотя её возможности более низкоуровневые по сравнению с аналогичными разработками). На ней вы можете создать даже свой собственный игровой движок. Это бесплатная среда разработки win32-приложений, PHP, html и js-скриптов и страниц, а так же приложений для КПК на базе Windows Mobile .

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

Базовый пакет, поставляющийся вместе со средой, позволяет разрабатывать небольшие Windows-приложения с использованием любых стандартных ActiveX-компонентов Интернета, баз данных, графики (GDI и OpenGL), широких мультимедиа возможностей (звука), и многого другого, а так же менее интересные фоновые программы, апплеты панели управления, библиотеки DLL и прочее.

Я не буду здесь останавливаться на ней подробно, так как об этой среде написано ну очень много. Чтение я рекомендую начать вот с этих двух качественных источников: и ; кроме того доступно по HiAsm . Лично для меня эта среда наиболее симпатична и удобна из всех сегодня рассмотренных (может быть это следствие огромной коллекции качественных ActiveX накопленных мною за пару лет обычного программирования на Visual Studio ?).

О программировании «без программирования»

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

Во-первых, программирование с помощью мыши... Думаю, что на этом моменте стоит заострить особое внимание, потому как стиль программирования в Scirra Construct, Game Develop и нескольких подобных решений наталкивает на спорные мысли. И именно он сейчас начинает распространяться на широкий спектр приложений, например, нечто подобное уже можно увидеть в нескольких новых IDE.

Во-первых, событийный редактор без выхода на код... Что это такое? Допустим, вы хотите написать условие, «если a=1 , то b=2 ». Опишем, как это делается в Construct (этот фрагмент текста за утомительностью можно и не читать). Сначала создаем глобальную переменную, а именно в окне проекта, кликаем правой кнопкой мыши над Global Variables... Add Global Variable... в появившемся окне указываем имя. Чтобы создать b производим идентичную цепочку действий.

Затем переходим на страницу событий Event Sheet Editor , создаем там новое событие, появляется окно, в котором мы выбираем System , появляется новое окно, находим там Compare Global Variable , щёлкаем, видим новое окно, выбираем из комбобокса «a», условие Equal to, указываем в окошке цифру 1. Нажимаем ОК. Условие появилось в окошке события строкой Is global variable ’a’ Equal to 1 . Напротив нее находится окно действий, кликаем на New Action , появляется окно, в нем выбираем System, кликаем, появляется следующее окно находим там Global Variables -> Set Value , нажимаем Next и в следующем окне выбираем из комбобокса «b» и вписываем двойку. Нажимаем ОК.

И как вам последовательность действий для создания простого условия!?

Такое ощущение, что к каждому действию прикрепляется окно-бюрократ. И это мы говорим об одной-двух строках стандартного кода.


При визуальном программировании редакторы кода заменены на редакторы событий, но смысл не меняется

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

Чем больше элементов содержит файл проекта, тем больше будет требовать от ресурсов ПК

Во-первых, работа с ним. А в игровых конструкторах и еще паче — ваш исполняемый файл строится по подобию того же файла проекта. Например, вы создали один уровень либо одну страницу мультимедийного приложения и при запуске исполняемого файла программа будет занимать N памяти RAM и VRAM. Затем создаете второй уровень или сцену с другим контентом. Запускаете программу, и хотя находитесь на первой сцене, она занимает N+M памяти, то есть, подгружаются все внутренние данные. Таким образом, по мере роста проекта можно запросто столкнуться с Out of Memory .

Большинство подобных конструкторов для неопытных пользователей предлагает единственное средство — разделение данных на внешние и внутренние, и в тех же Construct Classic, Game Develop и многих других это указывается неявно. А в менее продуманных «поделках» так и вообще все грузится во внутренние ресурсы.

В результате получаются тяжелые *.exe-файлы, огромные файлы проектов, замедляются процессы сохранения, отладки, компиляции. А простейшая игра типа Arcanoid будет занимать у вас столько же ресурсов, как и Starcraft2 , чем, в принципе, уже никого не удивишь.

Подытожим

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

Мы уже не раз были свидетелями того, как обычные пользовательские приложения превращались в глобальные популярные среды. Достаточно привести в пример Adobe Flash . Поэтому относиться несерьезно к тем же Scirra Construct или Game Maker все-таки не стоит — еще неизвестно, что выстрелит в итоге. Например, еще пару лет назад очень выгодно смотрелась среда для создания интерактивных мультимедийных приложений Multimedia Builder (я писал о ней в сравнении с почти полным аналогом — NeoBook ), которая по своим возможностям и одновременно простоте и сейчас затыкает за пояс огромное количество конструкторов и новоявленных IDE. Но программа так и не получила массовой поддержки, в результате чего ее разработка была свернута. Какая причина?

На мой взгляд, очень много в Multimedia Builder (MMB) было новаторского и самостоятельного. Тот же Flash , на этапе разработки в Macromedia, изначально базировался на принципе GUI от Photoshop, на нем же построен и описанный нами выше Serif WebPlus . Flowstone также заимствовала очень многое из популярных конструкторов прошлого, в SynthEdit взят за основу принцип графического построения, известный еще с середины 90-х, Scirra Construct взял лучшее из имеющегося на рынке. То есть, везде можно наблюдать преемственность технологий. Никаких революций уже давно не происходит. А конкуренция во всех сферах сейчас очень серьезная, например, как вам визуального программирования в интернете? Про два более традиционно-десктопных монстра визуального программирования и я уже ранее писал в этом блоге достаточно подробно.

Визуальное программирование

Визуальное программирование - способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.

Необходимо различать:

  • - который прежде всего язык программирования (со своим синтаксисом)
  • визуальные средства разработки - как правило, под ними подразумевают средства проектирования интерфейсов или какую либо CASE -систему для быстрой разработки приложений или SCADA -систему для программирования микроконтроллеров.

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

  • языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;
  • языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland , С#
  • языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML .

Визуально-преобразованные языки являются невизуальными языками с наложенным визуальным представлением (например, среда Visual C++ для языка C++). Естественно-визуальные языки имеют неотъемлемое визуальное выражение, для которого нет очевидного текстового эквивалента (например, графический язык G в среде LabVIEW).

Графические, или визуальные, языки программирования

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

  • Дракон-схемы - графический язык программирования, используется для программирования в ракетно-космической технике («Буран », «Морской старт », «Тополь »). Существует бесплатный Дракон-редактор. Этот язык имеет наиболее строгое теоретическое обоснование.
  • Язык последовательных функциональных схем SFC (Sequential Function Chart) - графический язык программирования широко используется для программирования промышленных логических контроллеров PLC .

В SFC программа описывается в виде схематической последовательности шагов, объединённых переходами.

  • - язык релейно-контактных схем
  • FBD - язык Функциональных блоковых диаграмм.
  • Язык CFC (Continuous Flow Chart) - ещё один высокоуровневый язык графического программирования. CFC - это дальнейшее развития языка FBD. CFC был специально создан для проектирования систем управления непрерывными технологическими процессами.
  • G, язык, используемый в среде разработки LabVIEW
  • VisSim это визуальный язык программирования предназначенный для моделирования динамическая систем , а также проектирования, базирующегося на моделях, для встроенных микропроцессоров .

Визуальные средства разработки

  1. AgentSheets , легкая в использовании авторская система для игр и научных расчётов
  2. Analytica
  3. AppWare, also known as MicroBrew, программирование, на основе иконок для Mac OS и Microsoft Windows
  4. AudioMulch, основанная на потоке звукового сигнала, также для среда для создания музыки
  5. Aviary Peacock, визуальная лаборатория на основе просмотра файлов
  6. Baltie
  7. Befunge , эзотерический текстовый язык программирования, в котором команды размещаются графически в текстовом файле
  8. eXpecco, основанный на графическом потоке язык программирования и среда разработки для автоматизации тестирования
  9. HiAsm , конструктор программ
  10. JMCAD среда графической разработки систем для промышленности, инженеров и учёных
  11. Kwikpoint, пиктограммный визуальный транслятор, созданный Аланом Стилманом
  12. LabVIEW , среда графического программирования, разработанный для инженеров и учёных
  13. LogicProgram, язык, среда графического программирования, позволяющая формировать матрицу отношений компонентов платформы
  14. Macromedia Authorware
  15. Miracle C Compiler, среда графического программирования, позволяющая формировать матрицу отношений компонентов платформы (сайт: http://www.c-compiler.com)
  16. MQL-Studio for HiAsm , пакет для разработки экспертов, скриптов, индикаторов на языке MQL5 в визуальном редакторе программ HiAsm.
  17. Thyrd , свободная, открытая графическая среда программирования (иерархия графических примитивов) на базе Forth (Форт)языка
  18. ДРАКОН , язык, созданный для разработки Советского Бурана (космического корабля)

См. также

Примечания

Ссылки

  • http://vbzero.narod.ru/project.htm - статья для тех кто хочет начать программировать или хочет попробовать свои силы.
  • PureBuilder - среда визуальной разработки, в настоящее время разрабатывается

Wikimedia Foundation . 2010 .

  • Визо, Эрнесто
  • Визуальный роман

Смотреть что такое "Визуальное программирование" в других словарях:

    Визуальное программирование - программирование, предусматривающее создание приложений с помощью наглядных средств. При этом программист показывает, что должно получиться в результате, а текст программы генерируется автоматически с помощью визуального прототипа. См. также:… … Финансовый словарь

    Графическое программирование - Визуальное программирование способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания ее текста. Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени… … Википедия

    RAD (программирование) - У этого термина существуют и другие значения, см. RAD. Разработка программного обеспечения Процесс разработки ПО Шаги процесса Анализ Проектиро … Википедия

    Событие (объектно-ориентированное программирование) - У этого термина существуют и другие значения, см. Событие. Событие в объектно ориентированное программировании это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий. События предназначены для… … Википедия

    ДРАКОН (алгоритмический язык) - У этого термина существуют и другие значения, см. Дракон (значения). Пример блок схемы алгоритма на языке ДРАКОН дракон схемы ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) визуальный… … Википедия

    ДРАКОН - Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/28 сентября 2012. Пока процесс обсуждения не завершён, статью мож … Википедия

    МШП - Мытищинская Школа программистов (МШП) некоммерческая образовательная организация, созданная в 2001 году. Руководителем Школы программистов является Шедов Сергей Валерьевич педагогический стаж 11 лет, учитель высшей… … Википедия

    Мытищинская школа программистов - (МШП) некоммерческая образовательная организация, созданная в 2001 году. Руководителем Школы программистов является Шедов Сергей Валерьевич педагогический стаж 11 лет, учитель высшей квалификационной категории, председатель… … Википедия

    Алиса (ПО) - У этого термина существуют и другие значения, см. Алиса. Alice Базовая анимация конькобежца … Википедия

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

Книги

  • Программирование микроконтроллеров для начинающих. Визуальное проектирование, язык C, ассемблер (+ CD-ROM) , В. Б. Иванов. В этой книге автор проводит читателя по пути освоения программирования микроконтроллеров от простого к сложному. Начав с краткого описания архитектуры и системы команд микроконтроллеров PIC,…

Лекция № 1 Визуальное программирование (конспекты лекций)

Объектно-ориентированная методология разработки больших программных комплексов

    Парадигмы программирования

Парадигма– в методологии науки – совокупность ценностей, методов, технических навыков и средств, принятых в научном сообществе в рамках устоявшейся научной традиции в определенный период времени.

Парадигма программирования - это парадигма, определяющая стильпрограммирования, иначе говоря - некоторый цельный набор идей и рекомендаций, определяющих стиль написания программ.

Парадигма программирования представляет (и определяет) то, как программиствидит выполнение программы. Например, вобъектно-ориентированном программированиипрограммист рассматривает программу как набор взаимодействующих объектов, тогда как вфункциональном программированиипрограмма представляется в виде цепочки вычисления функций.

Рассмотрим одну из классификаций языков программирования.

Классическое операциональное и/или процедурное программирование требует от программиста детального описания того, как решать задачу, т.е. формулировки алгоритма и его специальной записи. При этом ожидаемые свойства результата обычно не указываются. Основные понятия языков этих групп – оператор и данные. При процедурном подходе операторы объединяются в группы – процедуры. Структурное программирование в целом не выходит за рамки этого направления, оно лишь дополнительно фиксирует некоторые полезные приемы технологии программирования. Дейкстра дал следующее определение: “Структурное программирование – это дисциплина, которую программист навязывает сам себе”.

Принципиально иное направление в программировании связано с методологиями (парадигмами) непроцедурного программирования. К ним можно отнести объектно-ориентированное и декларативное программирование.

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

Структурное и объектно-ориентированное программирование строятся на декомпозиции.

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

Эдсгер Дейкстра 1 отмечал, "Способ управления сложными системами был известен еще в древности - divide et impera (разделяй и властвуй)" 2 . При проектировании сложной программной системы необходимо разделять ее на все меньшие и меньшие подсистемы, каждую из которых можно совершенствовать независимо. В этом случае не будет превышения пропускной способности человеческого мозга: для понимания любого уровня системы необходимо одновременно держать в уме информацию лишь о немногих ее частях, а не обо всех. Сложностью программирования системы вынуждает делить её на части, выполнять декомпозицию.

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

    Объектно-ориентированная методология разработки программ

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

По определению Гради Буча 3: “Объектно-ориентированное программирование (ООП) – это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса (типа особого вида), а классы образуют иерархию на принципах наследуемости”.

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

История объектно-ориентированного программирования берет свое начало в конце 60-х годов. Компьютерный центр в Норвегии создал первый объектно-ориентированный язык программирования Simula , предназначенный для моделирования ситуаций в реальном мире. Основная особенность языка Simula состояла в том, что программа была организована по объектам программирования. Объекты содержат инструкции (называемые методами ) и данные (называемые переменными ), которые определяют поведение объекта. В процессе моделирования объект выполняет свое стандартное поведение и, в случае необходимости, изменяет данные для отражения влияния назначенного ему действия.

Существует достаточно много объектно-ориентированных языков программирования, наиболее популярными из которых в настоящее время являются C ++, Delphi , Java , Visual Basic .

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

В среде Delphiреализована новая характеристика (помимо инкапсуляции, полиморфизма и наследования) объекта – возможность обработки так называемых сообщений (или событий), получаемых от ОСWindowsили самой программы. Этот принцип лежит в основе работы всех визуальных компонентовDelphi, которые обрабатывают различные события, возникающие в процессе выполнения программы. Событие представляет собой некоторое действие, которое активизирует стандартную реакцию объекта. В качестве события могут рассматриваться нажатие кнопки мыши, выбор пункта меню, открытие таблицы и т.д. Порядок выполнения действий определяется, прежде всего, событиями, возникающими в системе, и реакцией на них объектов.

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

Имеется четкое разграничение между понятиями объекта икласса . Класс – это тип данных (например,Real илиString ), а объект – конкретный существующий в памяти компьютераэкземпляр класса, переменная соответствующего типа.

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

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

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

Переменная, описанная как класс, фактически является указателем на экземпляр класса. Это сделано для повышения эффективности работы с ним. Однако при использовании таких переменных применять операции работы с указателями (^, @) не надо. К ним обращаются как к обычным переменным, а к членам класса (полям, свойствам и методам) как к полям записи.

Этапы реализации объектно-ориентированного подхода:

    анализ предметной области задачи (выполняется объектная декомпозиция системы и определяются основные особенности поведения объектов, результаты представляют в виде диаграмм объектов);

    проектирование системы

    • логическое проектирование (разработка структуры классов: определение полей и алгоритмов методов);

      физическое проектирование (объединение описаний классов в модули, определение способов взаимодействия с оборудованием, ОС, другим ПО);

    эволюция системы (поэтапная реализация классов и подключение объектов к системе, начиная с создания проекта будущего приложения);

    модификация (добавление новых функциональных возможностей или изменение существующих свойств системы).

    Инкапсуляция, наследование и полиморфизм

Объектно-ориентированное программирование обладает следующими характеристиками (помимо обработки событий), которые особенно полезны при создании тиражируемых и простых в сопровождении приложений: инкапсуляция; наследование; подклассы; полиморфизм.

Инкапсуляция.

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

Наследование и подклассы.

Все объекты создаются на основе классов и наследуют свойства и методы классов. Классы могут создаваться на основе других классов. Такие классы называют подклассами . Они наследуют все свойства и методы родительского класса. Дополнительно для подкласса можно определить новые свойства и методы. Изменение свойств и методов родительского класса отслеживается в подклассах, созданных на основе этого класса, а также в объектах, созданных на основе подклассов.

Полиморфизм.

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

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

    Переменные объектных типов

Переменные объектных типов – экземпляры объектов – так же, как и записи представляют собой комбинированные структуры данных. Описание переменных объектного типа выполняется аналогично описаниям переменных типа “запись”. Первым синтаксическим отличием описания объектов от записей является использование ключевого слова object вместо ключевого слова record . Второе отличие объекта от записи состоит в том, что объект может включать действия, оформленные в виде процедур и функций, которые в данном случае называются методами .

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

Сфера действия типа объекта состоит из него самого и всех его порожденных типов.

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

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

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

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

    Введение в визуальное программирование

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

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

Объектно-ориентированное программирование удачно использует концепцию визуального программирования.

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

Визуализируемой моделью в Visual Basic и Delphi является окно (форма, диалог) Windows, а не код программы.

В настоящее время распространено большое количество систем визуального программирования. Это системы программирования для языков C++ (фирм Borland, Microsoft, Symantec), Basic (фирмы Microsoft), Pascal/Delphi (фирмы Borland). Кроме языков программирования, визуальный подход используется и в других системах (Visual FoxPro, Paradox для Windows, программы пакета Microsoft Office).

Использование визуального проектирования интерфейса предоставляет программисту (пользователю) следующие преимущества:

    возможность легкого изменения размеров и расположения компонентов на форме (с помощью простых манипуляций мышью);

    в процессе проектирования постоянно виден результат – изображение формы и расположенных на ней компонентов (не надо запускать приложение для проверки внешнего вида окна и последующего изменения программного кода для подбора более удачного размера и расположения компонентов);

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

Визуальное проектирование интерфейса приложения состоит из следующих этапов:

    размещение нужных компонентов на форме;

    задание определенных свойств этих компонентов;

    написание, при необходимости, обработчиков событий.

Таким образом, визуальное программирование делает проектирование интерфейса программы более наглядным и быстрым. При этом сохраняется возможность управлять всеми объектами и программно.

1Э́дсгер Ви́бе Де́йкстра (нидерл. Edsger Wybe Dijkstra ; 11 .05. 1930 - 6 .08. 2002 ) - выдающийся нидерландский учёный, идеи которого оказали огромное влияние на развитие компьютерной индустрии.

2 Dijktra, E. 1979. Programming Considered as a Human Activity. Classics in Software Engineering. New York, NY: Yourdon Press, p.5.

3Гради Буч (Grady Booch), главный исследователь корпорации Rational Software, признан всем международным сообществом разработчиков программного обеспечения благодаря его основополагающим работам в области объектно-ориентированных методов и приложений.

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

Delphi позволяет быстро и удобно разрабатывать эффективные приложения, включая приложения для работы с базами данных. Система имеет развитые возможности по созданию пользовательского интерфейса, широкий набор функций, методов и свойств для решения прикладных расчетно-вычислительных задач. В системе имеются развитые средства отладки, облегчающие разработку приложений. Традиционно Delphi относят к системам быстрой разработки приложений. Вместе с тем эта система обладает практически всеми возможностями СУБД, таких как Microsoft Access и Visual FoxPro. Она позволяет удобно создавать приложения с помощью инструментальных программных средств, визуально подготавливать запросы к базам данных, а также непосредственно писать SQL- запросы к базам данных. Применительно к работе с базами данных Delphi обеспечивает широкий набор инструментальных средств, поддерживает современные технологии, в том числе многоуровневую технологию «клиент - сервер» .

Как любая подобная система программирования, Delphi предназначена для разработки программ и имеет две характерные особенности: создаваемые с ее помощью программы могут работать не только под управлением Windows, а сама она относится к классу инструментальных средств ускоренной разработки программ. Это ускорение достигается за счет двух характерных свойств Delphi: визуального конструирования форм и широкого использования библиотеки визуальных компонентов.

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

Библиотека визуальных компонентов предоставляет программисту огромное разнообразие созданных разработчиками Delphi программных заготовок, которые немедленно или после несложной настройки готовы к работе в рамках вашей программы. Размещение объектов в Delphi связано с более тесными отношениями между объектами и реальным программным кодом. Объекты помещаются в созданную форму, при этом код, отвечающий объектам, автоматически записывается в исходный файл. Этот код компилируется, обеспечивая существенно более высокую производительность, чем визуальная среда, которая интерпретирует информацию лишь в ходе исполнения программы. Использование компонентов не только во много раз сокращает сроки разработки программ, но и существенно снижает вероятность случайных программных ошибок, от которых, увы, не защищен ни один крупный программный проект.

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

Две вышеперечисленные особенности Delphi

1) визуальное конструирование форм

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

Мощность и гибкость языка программирования Delphi - безусловное достоинство Delphi, выгодно отличающее эту систему программирования от других инструментов для разработки программ. Ядром языка Delphi является язык Паскаль.

От Visual Basic язык Delphi отличают строгая типизированность, позволяющая компилятору еще на этапе компиляции обнаружить многие ошибки, а также средства работы с указателями. Delphi имеет самый быстрый среди продуктов подобного рода оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы.

Среда Delphi устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели. Delphi позволяет приспособить компоненты диалоговой панели (например, Choose File и Save File) к имеющейся задаче, чтобы они работали именно так, как требуется создаваемому приложению. Также здесь имеются предварительно определенные визуальные и невизуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Это наглядная реализация применений CASE-технологий в современном программировании приложений .

В процессе создания проектов в среде Windows с помощью Delphi наблюдаются следующие выгоды: устраняется необходимость в повторном вводе данных; обеспечивается согласованность проекта и его реализации; увеличивается производительность разработки и переносимость программ.

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

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

Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений (RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. Визуальные компоненты Delphi открыты для надстройки и переписывания.

Эта библиотека объектов включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE.

Среда Delphi состоит их четырех окон, управляемых как многооконное приложение с интерфейсом одного документа (рисунок 1). Главное окно Delphi управляет связанными с ним окнами - инспектора объектов, формы и окна редактора кода.

Рисунок 1 - Интерфейс основных окон среды Delphi

Главное окно (рисунок 2) является центром управления разработками. В нем размещены меню, панель быстрого доступа (SpeedВаг) и палитра компонентов. Строка меню дает возможность осуществлять контроль за всеми окнами среды разработки. Панель быстрого доступа обеспечивает оперативный доступ к общим операциям. Палитра компонентов состоит из нескольких групп, в каждой из которых расположены пиктограммы компонентов. Указав в палитре нужный компонент, можно перенести его (щелчком мыши) в окно формы. При этом создается активный объект, для которого с помощью инспектора объект нужно задавать свойства и описывать реакции на события, которые будут происходить с этим объектом при решении задачи.

Рисунок 2 - Главное окно

Окно инспектора объектов (рисунок 3) является многостраничным окном, содержащим помеченные ярлыками страницы свойств (Ргореperties) и событий (Events). На странице свойств показаны свойства объектов, расположенных в окне формы (Form). На странице событий представлены события, на которые реагирую объекты окна формы. Инспектор Объектов состоит из двух страниц, каждую из которых можно использовать для определения поведения данного компонента. Первая страница - это список свойств, вторая - список событий. Если нужно изменить что-нибудь, связанное с определенным компонентом, то Вы обычно делаете это в Инспекторе Объектов. К примеру, Вы можете изменить имя и размер компонента TLabel, изменяя свойства Caption, Left, Top, Height, и Width.

Можно использовать закладки внизу Инспектора Объектов для переключения между страницами свойств и событий. Страница событий связана с Редактором; если Вы дважды щелкнете мышкой на правую сторону какого-нибудь пункта, то соответствующий данному событию код автоматически запишется в Редактор, сам Редактор немедленно получит фокус, и Вы сразу же имеете возможность добавить код обработчика данного события. Данный аспект среды программирования Delphi будет еще обсуждаться позднее.

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

Программисты на Delphi проводят большинство времени переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор). Расскажем поподробнее о каждом окне среды Delphi.

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

Рисунок 3 - Инспектор Объектов

Дизайнер Форм в Delphi - то место, где Вы создаете визуальный интерфейс программы. Он столь интуитивно понятен и прост в использовании, что создание визуального интерфейса превращается в детскую игру. Дизайнер Форм первоначально состоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбранными на Палитре Компонент. Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время, является Редактор. Логика является движущей силой программы и Редактор - то место, где Вы ее «кодируете» .

Рисунок 4 - Дизайнер Форм

Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время, является Редактор.

Окно редактора кода (рисунок 5) дает возможность набирать и редактировать код модуля программы на языке Object Pascal. Это окно является многостраничным, оно позволяет выполнять переходы между модулями программы. Логика является движущей силой программы и Редактор - то место, где Вы ее «кодируете». В окне Редактора Вы создаете логику управления программой.

Рисунок 5 - Окно Редактора

В главном окне принято выделять три основных выделенных элемента (не считая стандартной строки-заголовка):

Строка меню (Menu System);

Палитра компонентов;

Панель быстрого доступа (SpeedBar).

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

Рисунок 6 - Строка меню

В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10 - 20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора.

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

Палитра Компонент (рисунок 7) позволяет Вам выбрать нужные объекты для размещения их на Дизайнере Форм. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз - на Дизайнере Форм. Выбранный Вами объект появится на проектируемом окне и им можно манипулировать с помощью мыши.

Палитра Компонент использует постраничную группировку объектов. Внизу Палитры находится набор закладок - Standard, Additional, Dialogs и т.д. Если Вы щелкнете мышью на одну из закладок, то Вы можете перейти на следующую страницу Палитры Компонент. Принцип разбиения на страницы широко используется в среде программирования Delphi и его легко можно использовать в своей программе (на странице Additional есть компоненты для организации страниц с закладками сверху и снизу).

Рисунок 7 - Палитра Компонент

SpeedBar (рисунок 8) находится непосредственно под меню, слева от Палитры Компонент. SpeedBar выполняет много из того, что можно сделать через меню. Если задержать мышь над любой из иконок на SpeedBar, то Вы увидите, что появится подсказка, объясняющая назначение данной иконки.

Рисунок 8 - SpeedBar

Последняя важная часть среды Delphi - Справочник (on-line help), (рисунок 9). Для доступа к этому инструменту нужно просто выбрать в системном меню пункт Help и затем Delphi Help.

Рисунок 9 - Справочник

Редактор Картинок (рисунок 10) работает аналогично программе Paintbrush из Windows. Вы можете получить доступ, к этому модулю выбрав пункт меню Tools | Image Editor.

Рисунок 10 - Редактор Картинок

А теперь нужно рассмотреть те элементы, которые программист на Delphi использует в повседневной жизни. В дополнение к инструментам, обсуждавшимся выше, существуют пять средств, поставляемых вместе с Delphi. Эти инструментальные средства: встроенный отладчик; внешний отладчик (поставляется отдельно); компилятор командной строки; WinSight; WinSpector.

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

Чтобы стать сильным программистом на Delphi, Вам понадобится понять, как использовать отладчик Delphi. Отладчик позволяет Вам пройти пошагово по исходному тексту программы, выполняя по одной строке за раз, и открыть просмотровое окно (Watch), в котором будут отражаться текущие значения переменных программы.

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

Внешний компилятор, называется DCC.EXE, полезен, в основном, если Вы хотите скомпилировать приложение перед отладкой его во внешнем отладчике. Большинство программистов, наверняка, посчитают, то гораздо проще компилировать в среде Delphi, нежели пытаться создать программу из командной строки. Однако, всегда найдется несколько оригиналов, которые будут чувствовать себя счастливее, используя компилятор командной строки. Но это факт - возможно, создать и откомпилировать программу на Delphi используя только DCC.EXE и еще одну программу CONVERT.EXE, которая поможет создать формы. Однако, данный подход неудобен для большинства программистов .

WinSight и WinSpector интересны преимущественно для опытных программистов в Windows. Это не значит, что начинающий не должен их запускать и экспериментировать с ними по своему усмотрению. Но эти инструменты вторичны и используются для узких технических целей.

Из этих двух инструментов WinSight определенно более полезен. Основная его функция - позволить наблюдать за системой сообщений Windows. Хотя Delphi делает много для того, чтобы спрятать сложные детали данной системы сообщений от неопытных пользователей, тем не менее Windows является операционной системой, управляемой событиями. Почти все главные и второстепенные события в среде Windows принимают форму сообщений, которые рассылаются с большой интенсивностью среди различными окнами на экране. Delphi дает полный доступ к сообщениям Windows и позволяет отвечать на них, как только будет нужно. В результате, опытным пользователям WinSight становится просто необходим . WinSpector сохраняет запись о текущем состоянии машины в текстовый файл; Вы можете просмотреть этот файл для того, чтобы узнать, что неправильно идет в программе. Данный инструмент полезен, когда программа находится в опытной эксплуатации - можно получить важную информацию при крушении системы.

Таким образом, работа в среде Delphi базируется на объектно-ориентированной технологии и визуализации процесса создания программ. Эта технология поддерживает построение программ путем определения объектов и действий над ними. Визуальная среда освобождает разработчика от необходимости знания множества технических деталей, что позволяет сконцентрировать внимание на существе решаемой задачи, сокращает сроки и повышает качество работы. Ознакомившись со средой программирования Delphi, рассмотрев ее явные преимущества - визуальное конструирование форм и использование библиотеки визуальных компонентов, можно использовать данный продукт ООП для создания пакета автоматизированных методик.

Лекция 11. Языки программирования. Системы программирования. Среды визуального проектирования

Обзор языков программирования

Управляющие команды и данные, поступающие в процессор по его шинам, представляются в виде машинного кода.

Машинный код - это двоичный код, т. е. совокупность нулей и единиц в виде электрических сигналов.

Управление компьютером производится по определенному алгоритму.

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

Для представления алгоритма в виде, понятном PC , служат языки программирования. Сначала всегда разрабатывается алгоритм действий, который записывается на одном из таких языков.

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

Языки программирования используют для записи каждой команды (оператора) в программе свой синтаксис (совокупность требований к записи операторов) и семантику (отражение смысла команды). Нарушение формы записи команды в программе приводит к непониманию ее транслятором или к синтаксической ошибке.

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

Процесс поиска ошибок в программе - это тестирование программы , а процесс их устранения - отладка программы.

Различают два вида программ-трансляторов:

  • интерпретатор, который одновременно и транслирует и выполняет заданную команду, делая это покомандно или пооператорно;
  • компилятор, который преобразует программу, составленную на языке высокого уровня, в программу на машинном языке или на языке, близком к машинному, не участвуя в её выполнении.

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

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

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

На практике применяется как тот, так и другой вид программ-трансляторов, т. е. и программы-интерпретаторы, и программы-компиляторы.

Уровни языков программирования

Язык программирования, ориентированный на определенный тип процессора - это язык низкого уровня. Это не значит - "плохой", а только то, что язык конкретен и близок к машинному языку PC (например, язык "Ассемблер").

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

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

Рождение языков высокого уровня 5-го поколения произошло в середине 90-х годов.

Fortran - первый компилируемый язык, созданный в 50-е годы, но модификации 2000 года (HPF — High Perfomance Fortran ) используются и сейчас в статистических комплексах и даже в системах управления спутниками.

Cobol — это компилируемый язык для применения в экономике и решения бизнес-задач, разработанный в начале 60-х годов. Имеет много приложений, используется и сейчас (в США наибольшую зарплату получают программисты, работающие на Cobol ).

Algol - компилируемый язык, созданный в 1960 году. Предполагалось, что он заменит Fortran , но из-за более сложной структуры не получил широкого распространения.

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

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

С (Си) - планировался для замены ассемблера, чтобы иметь возможность создавать эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. На этом языке написано в 70е годы множество системных и прикладных программ и ряд операционных систем (в частности, ОС Unix ).

C++ (Си++) - это объектно-ориентированное расширение языка Си, разработанное в 1980 году. Обеспечивает высокую производительность, но требует от разработчиков высокого уровня профессионализма.

Java - этот язык создан в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него низкоуровневых возможностей. Обеспечивает компиляцию не в машинный код, а в платформенно-независимый объектный код, который может выполняться с помощью интерпретатора - виртуальной Java-машины (Virtual Machine ), версии которой созданы сегодня для любых платформ.

Этот язык занимает по популярности второе место после Basic . Основной его недостаток - невысокое быстродействие, т. к. он интерпретируемый .

Языки программирования баз данных (БД)

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

Для управления большими БД и эффективной обработки данных разработаны системы управления базами данных (СУБД). Для обработки данных в базах данных был создан структурированный язык запросов SQL (Structured Query Language ).

Практически в каждой СУБД помимо поддержки языка SQL имеется также свой уникальный язык, ориентированный на особенности только этой СУБД.

В настоящее время насчитывается несколько ведущих производителей СУБД. Среди них такие, как:

Microsoft Access ;

Oracle ;

Informix и т. п.

СУБД этих фирм ориентированы на работу одновременной работы в сети тысяч пользователей, а БД могут храниться в распределённом виде на нескольких серверах.

Языки программирования для Internet

Все эти языки интерпретируемые, интерпретаторы для них распространяются бесплатно, а сами программы - в исходных текстах (скриптах). Такие языки называют скрипт-языками.

  • Наиболее известные из скрипт-языков:
  • HTML , XML - общеизвестные языки разметки гипертекста, предназначенные для описания структуры и содержания WEB -документов;
  • JavaScript – язык программирования сценариев или скриптов (планов работы программ по взаимодействию с пользователем), встроенных в тело WEB -страницы;
  • Perl – язык программирования, используемый для создания сценариев и динамически генерируемых Web-страниц, превосходящий по мощности языки типа Си.

Системы программирования

Для создания программы на выбранном языке нужно иметь компоненты:

Текстовый редактор (лучше использовать специализированный, ориентированный на конкретный язык программирования и позволяют выделять ключевые слова и идентификаторы разными цветами и шрифтами);

  • программу-компилятор, с помощью которой текст может быть переведен непосредственно в машинный код, но так как в программе часто не хватает некоторых компонентов, компилятор может выдавать промежуточный объектный код с расширением. obj ;
  • библиотеки функций. Каждый модуль компилируется в отдельный файл с объектным кодом, но, кроме того, к ним может быть добавлен машинный код подпрограмм, реализующих стандартные математические функции (например, sin , In ), которые поставляются с компилятором. Эти подпрограммы находятся в библиотеках функций (файлах с расширением. lib );
  • редактор связей. Объектный код модуля обрабатывается специальной программой-редактором связей или сборщиком (компоновщиком), который связывает объектный код и машинный код стандартных функций и формирует на выходе работоспособное приложение, т. е. исполнимый код для конкретной системной платформы;
  • исполнимый код - это законченная программа, которую можно запустить на любом PC с той ОС, для которой эта программа создавалась. Она имеет расширения: .ехе или. com .

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

Среды визуального проектирования

В настоящее время в программировании совершенствуется визуальный подход. Раньше серьезным препятствием для разработки графических приложений была сложность создания различных визуальных элементов приложения и их контроль. Например, для программы сложения 2-х чисел требуется всего один оператор или одна строка исходного текста, а для создания кнопки и двух полей ввода чисел (подготовки к работе в - Windows ) — сотни строк кода.

Процесс графического программирования был автоматизирован в средах быстрого проектирования RAD (Rapid Application Development ). Все необходимые элементы оформления и управления (компоненты) создаются с помощью готовых визуальных компонентов, которые с помощью мыши вводятся в проектируемое окно, при этом вспомогательный исходный текст для этих объектов генерируется средой автоматически, что позволяет сосредоточиться на логике решаемой задачи. В результате программирование заменяется на проектирование или называется визуальным проектированием.

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

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

Basic: Microsoft Visual Basic;

Pascal: Borland Delphi;

C++: Borland C++ Builder;

Java: Symantec Cafe.

Microsoft Visual Basic

Язык BASIC (Beginner " s All Purpose Symbolic Instruction Code ) был модифицирован в GWBASIC (Graphics Workshop ), который был доступен для первых PC .

В конце 80-х годов разработан QuickBasic , который в 1992 году заменил Visual Basic for Windows .

В середине 1998 года разработана шестая, наиболее зрелая версия Microsoft Visual Basic (MS VB 6), которая долгое время была основной учебной версией.

Данная версия являлась основной средой разработки приложений под Windows от Microsoft, до появления принципиально новой платформы. NET Framework .

После этого фирма Microsoft резко изменила политику в отношении языков семейства Basic. Вместо развития Visual Basic, был создан абсолютно новый язык Visual Basic.NET , первая версия которого появилась в 2001 г. Это принципиально новый язык, имеющий, помимо синтаксиса , очень мало схожего с VB 6.0, и достаточно сильно отличающийся от него.

VB.NET сразу же занял прочное место VB в языковом комплексе Visual Studio, и на этом развитие классического языка Visual Basic остановилось.

В 2005 году вышла новая версия Visual Basic 2005, в комплекте Visual Studio . Она имела новый интерфейс и большие возможности. Язык был основан на Visual Basic.NET.

В конце 2007 фирма Microsoft выпустила новую версию Visual Basic — Visual Basic 2008, которая также была основана на Visual Basic.NET.

В 2010 году в составе Visual Studio 2010 была выпущена версия Visual Basic 2010 и её несколько упрощённый вариант Visual Basic 2010 Express , который ориентирован на широкое использование и предлагается бесплатно.

Вычислительной средой для визуального языка программирования Visual Basic 2010 является платформа Microsoft .NET Framework 4.0 (Microsoft dot NET Framework 4.0), являющаяся неотъемлемым компонентом Windows.

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

Чтобы избежать изучения нового языка для каждого из продуктов Microsoft начала включать элементы BASIC в макроязыки продуктов.

В результате была создана версия языка Visual Basic , названная Visual Basic for Applications (VBA ), которая реализуется во всех приложениях MSO 2003 и M SO 2007 (Word , Excel , PowerPoint и др.), в частности, для создания макросов.

Похожие статьи