Jump to content

Програф

Програф
Парадигма мультипарадигмальность : объектно-ориентированная , визуальная , потоковая передача данных
Разработано Университет Акадии
Разработчик Различный
Впервые появился 1983
ТЫ Кроссплатформенность : Классическая MacOS , Microsoft Windows , macOS.
Лицензия Собственный
Основные реализации
Програф CPX, Мартен
Под влиянием
функциональное программирование , потоков данных диаграммы

Prograph — это визуальный , объектно-ориентированный , потоков данных , многопарадигмальный язык программирования который использует знаковые символы для обозначения действий, которые необходимо предпринять с данными. Коммерческие среды разработки программного обеспечения Prograph, такие как Prograph Classic и Prograph CPX, были доступны для платформ Apple Macintosh и Windows в течение многих лет, но в конечном итоге были сняты с рынка в конце 1990-х годов. Поддержка языка Prograph в macOS недавно вновь появилась с выпуском среды разработки программного обеспечения Marten. [1]

История [ править ]

Исследования Prograph начались в Университете Акадии в 1982 году как общее исследование языков потоков данных, стимулированное семинаром по функциональным языкам, проведенным Майклом Левином. Диаграммы использовались для пояснения обсуждения, что привело к пониманию: «поскольку диаграммы более понятны, чем код, почему бы не сделать сами диаграммы исполняемыми!» Таким образом, Prograph – Программирование в графике – родился как язык визуальных потоков данных. Эту работу возглавил доктор Томаш Петржиковски, а Стэн Мэтвин и Томас Малднер были соавторами ранних статей. С 1983 по 1985 год исследовательские прототипы были построены на Three Rivers PERQ графической рабочей станции (на языке Паскаль , с визуализацией данных в виде огненных шаров, движущихся по каналам передачи данных) и VAX с терминалом Tektronix , а экспериментальный компилятор был запрограммирован на IBM PC . Эта работа была продолжена в Техническом университете Новой Шотландии Петржиковски и доктором Филипом Коксом, включая версию, выполненную на Прологе .

В 1985 году началась работа над коммерческим прототипом Macintosh, единственного широко доступного недорогого компьютера с поддержкой графики высокого уровня, доступного в то время. В начале 1986 года этот прототип был передан компании The Gunakara Sun Systems (позже переименованной в TGS Systems ) для коммерциализации. TGS ранее была консалтинговой фирмой, созданной Петржиковским в Университете Акадии . Работая с Петржиковски и Коксом, Терри Килшоу нанял первоначальную команду разработчиков и руководил ею, а ведущим разработчиком стал Джим Ласки. В 1987 году Марк Шпаковски предложил объединить объектную ориентацию с визуальным потоком данных, создав систему «объектного потока». После почти четырех лет разработки первая коммерческая версия v1.2 была представлена ​​на конференции OOPSLA в Новом Орлеане в октябре 1989 года. Этот продукт получил в 1989 году премию MacUser Editor's Choice Award как лучший инструмент разработки. Версия 2.0, выпущенная в июле 1990 года, добавила в систему компилятор.

TGS сменила название на Prograph International (PI) в 1990 году. Хотя продажи были медленными, в 1992 году была предпринята разработка новой версии Prograph CPX ( Cross-Platform eXtensions ), предназначенной для создания полностью кросс-платформенных приложений. Эта версия была выпущена в 1993 году, и сразу за ней последовала разработка среды клиент-серверных приложений. Несмотря на рост продаж, компания не смогла покрыть операционные расходы и после неудачной попытки финансирования в конце 1994 года в начале 1995 года была передана в конкурсное управление.

По мере продолжения конкурсного производства руководство и сотрудники PI сформировали новую компанию Pictorius , которая приобрела активы PI. Вскоре после этого началась разработка версии Prograph CPX для Windows. Хотя он так и не был официально выпущен, версии Windows Prograph регулярно предоставлялись клиентам Prograph CPX, некоторые из которых с разной степенью успеха портировали существующие приложения, написанные на Macintosh Prograph.

После смены руководства в новой компании акцент сместился с разработки инструментов на заказное программирование и разработку веб-приложений. В апреле 2002 года часть компании, занимающаяся веб-разработкой, была приобретена бермудской группой Paragon Technology Group и переименована в Paragon Canada. Имя Pictorius и права на исходный код Prograph остались за McLean Watson Capital, инвестиционной фирмой из Торонто, которая активно финансировала Pictorius. Ссылка на Пикториуса какое-то время появлялась на странице портфолио первого, но с тех пор исчезла. Версия CPX для Windows позже была выпущена для бесплатного использования и некоторое время была доступна для загрузки с остатков веб-сайта Pictorius (ссылка ниже).

Группа пользователей Prograph («Програферы»), называющих себя «Инициативой Open Prograph» (OPI), сформировалась в конце 1990-х годов с целью сохранить жизнеспособность Prograph перед лицом достижений ОС Apple и Microsoft. Какое-то время группа также стремилась создать новый язык визуального программирования с открытым исходным кодом, который стал бы преемником Prograph, но с появлением среды визуального программирования Marten от Andescotia участие в группе практически прекратилось.

Язык Prograph поддерживается Marten IDE от Andescotia Software. [1]

Описание [ править ]

Объекты прографа. Все изображения предоставлены MacTech

В 1970-е годы сложность программ значительно выросла, но инструменты, используемые для написания программ, в целом были аналогичны тем, которые использовались в 1960-е годы. Это приводило к проблемам при работе над более крупными проектами, которые становились настолько сложными, что даже простые изменения могли иметь побочные эффекты, которые трудно полностью понять. Значительное исследование проблемы заставило многих почувствовать, что проблема в том, что существующие системы программирования сосредоточены на логике программы, тогда как на самом деле целью программы было манипулирование данными. Если данные, которыми манипулируют, являются важным аспектом программы, почему данные не являются «гражданином первого сорта» языка программирования? На этой основе возник ряд новых систем программирования, включая объектно-ориентированное программирование и программирование потоков данных .

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

Работа с базой данных Prograph. Реализация метода

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

На этом изображении операции сортировки базы данных очевидны некоторые особенности системы Prograph. Верхняя полоса показывает, что этот метод, concurrent sort, передается в одном параметре, A Database Object. Затем этот объект передается по линиям в несколько операций. Три из них извлекают именованный индекс ( indexA и т. д.) от объекта с помощью getter (выход несвязанного метода получения передает «весь» объект), а затем передает извлеченный индекс в операцию сортировки. Затем выходные данные этих операций сортировки передаются вместе со ссылкой на исходную базу данных в финальную операцию. update database. Полоса внизу рисунка представляет выходные данные этого метода, и в этом случае к нему нет никаких подключений, поэтому этот метод не возвращает значение. Также обратите внимание, что хотя это метод некоторого класса, здесь нет self; если требуется self, его можно указать в качестве входных данных или найти.

Операторы и элементы управления Prograph

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

Циклы и ветви создаются путем изменения операций с аннотациями. Например, цикл, вызывающий doit Метод для списка входных данных создается путем перетаскивания оператора doit, затем присоединения модификатора цикла и предоставления списка в качестве входных данных для цикла. Другая аннотация, «инъекция», позволяет предоставить сам метод в качестве входных данных, что делает Prograph динамическим языком в некоторой степени .

Исполнение [ править ]

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

Самой важной особенностью отладки во время выполнения была возможность изменять код «на лету» во время отладки. Это позволило исправлять ошибки во время отладки без необходимости перекомпиляции.

См. также [ править ]

  • LabVIEW – Платформа системного проектирования и среда разработки
  • PWCT – язык визуального программирования
  • Spreadsheet 2000 – уникальная электронная таблица, написанная на Prograph.

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б «Продукты: Marten IDE 1.6» . Программное обеспечение Андескотия . Проверено 31 мая 2019 г.

Дальнейшее чтение [ править ]

  • Кокс, ПТ; Петржиковски, Т. (1984), «Расширенные средства программирования в Prograph», Технический отчет 8408 , Галифакс, Новая Шотландия: Школа компьютерных наук, Технический университет Новой Шотландии .
  • Кокс, ПТ; Маллиган, И.Дж. (1984), «Компиляция графического функционального языка Prograph», Технический отчет 8402 , Галифакс, Новая Шотландия: Школа компьютерных наук, Технический университет Новой Шотландии .
  • Мэтвин, С.; Петржиковски, Т. (1985), «Програф: предварительный отчет», Computer Languages , 10 (2): 91–126, doi : 10.1016/0096-0551(85)90002-5 .
  • Килшоу, Терри (май 1991 г.), «Примитивы Prograph» , журнал MacTech Magazine , 7 (5) .
  • Килшоу, Терри (январь 1992 г.), «Prograph 2.5» , MacTech Magazine , 8 (1) .
  • Килшоу, Терри (январь 1993 г.), «Класс графических кнопок в Prograph» , MacTech Magazine , 9 (1) .
  • Килшоу, Терри (март 1994 г.), «Обзор Prograph CPX 1.0» , MacTech Magazine , 10 (3): 64–74 .
  • Шмукер, Курт (ноябрь 1994 г.), «Prograph CPX — учебное пособие» , журнал MacTech Magazine , 10 (11) .
  • Шмукер, Курт (январь 1995 г.), «Команды и отмена в Prograph CPX» , MacTech Magazine , 11 (1) .
  • Шмукер, Курт (март 1995 г.), «Фильтры и сита в Prograph CPX» , журнал MacTech Magazine , 11 (3) .
  • Шмукер, Курт (май 1995 г.), «MacApp и Prograph CPX — сравнение» , MacTech Magazine , 11 (5) .
  • Шафер, Дэн (1994), Сила Prograph CPX , США: The Reader Network, ISBN  1-881513-02-5 .
  • Штейнман, С.Б.; Карвер, КГ (1995), Визуальное программирование с помощью Prograph CPX , Мэннинг, ISBN  978-1-884777-05-9

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: dfe9045f463cfaba195d73398c9c8711__1713814380
URL1:https://arc.ask3.ru/arc/aa/df/11/dfe9045f463cfaba195d73398c9c8711.html
Заголовок, (Title) документа по адресу, URL1:
Prograph - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)