vvip是什么意思| 多吃玉米有什么好处和坏处| 叫床什么意思| 什么的夜晚| 子宫肌瘤什么症状| 千克又叫什么| 正比和反比是什么意思| 毛发变白是什么原因| 六六大顺是什么生肖| cho是什么意思| 无菌敷贴是干什么用的| 低筋面粉是什么面粉| 什么是遗憾| 酗酒是什么意思| 孕妇梦到被蛇咬是什么意思| 盆底肌是什么| 生理曲度变直什么意思| 维生素c什么时候吃最好| 1996年出生属什么生肖| 小孩嗓子哑了吃什么药| 运筹帷幄是什么意思| 低密度脂蛋白偏高吃什么药| 双子座是什么时候| 胸有成竹什么意思| 男性支原体阳性有什么症状| 良字少一点是什么字| 经常做春梦是什么原因| 丹田是什么器官| 勾践姓什么| 乳腺结节什么症状表现| 尿蛋白高是什么原因引起的| 洁颜油是干什么用的| 锐步是什么档次| 13点是什么时辰| 来忘掉错对来怀念过去是什么歌| 肛瘘是什么| 蒙羞是什么意思| 藕不能和什么一起吃| 身份证前六位代表什么| 巾帼不让须眉是什么意思| 蹂躏是什么意思| 卡密是什么| 蜜蜂为什么会蜇人| 1996年出生属什么生肖| 泄气的意思是什么| 神经疼痛吃什么药| 床褥是什么| 什么蔬菜含钾量最高| bpd是胎儿的什么意思| 小孩不说话什么原因| 胸口容易出汗是什么原因| 亚专业是什么意思| 生忌是什么意思| 高压低是什么原因引起的| 一什么旋风| 子宫下垂是什么症状| 氯低是什么原因| 梅花在什么季节开放| 考拉是什么意思| 后背痒痒是什么原因| 女性做结扎手术对身体有什么危害| 深静脉血栓有什么症状| 脆生生是什么意思| 常吃木耳有什么好处和坏处| 茄子把有什么功效| 什么地开放填空| 肌钙蛋白高是什么意思| 北顶娘娘庙求什么灵验| sc1是什么意思| 血糖高吃什么主食最好| 耳轮有痣代表什么| 眼什么手什么| 性生活时间短吃什么药| 黄牛用的什么抢票软件| 测怀孕什么时候最准| 低压偏高是什么原因| mir是什么检查| 肠胃炎挂什么科| 高原反应什么症状| 有什么鱼| 转氨酶偏低是什么原因| 查心电图挂什么科| 什么是拘役| 校正是什么意思| 什么叫飘窗| 五十知天命什么意思| 桃子和什么相克| 晚上老咳嗽是什么原因| 梦到兔子是什么征兆| 枕头底下放剪刀有什么说法| 无为而治是什么意思| 后脑勺白头发多是什么原因| 根的作用是什么| 1月8日是什么星座| 糖尿病的人可以吃什么水果| 北京生源是什么意思| 卖腐是什么意思| 7月20日什么星座| 月牙是什么| 婴儿黄疸高有什么影响| 大姑姐是什么意思| 什么是数字货币| 眼睛上火用什么眼药水| 梵文是什么意思| 2024是什么年| 复山是什么意思| 楚楚动人什么意思| 白鱼是什么鱼| 九月一号是什么节日| 慢性萎缩性胃炎伴糜烂吃什么药| 阁老相当于现在什么官| 毒灵芝长什么样| 头昏脑胀吃什么药| 吃菠萝有什么好处| 六月十六是什么日子| 牛肉不能和什么食物一起吃| 胃溃疡不能吃什么食物| 外阴瘙痒抹什么药| 护士长是什么级别| 蚝油是用什么做的| 右侧卵巢无回声是什么意思| 咸池是什么意思| 小儿积食吃什么药最好| 妤什么意思| 什么嫩芽| 逆行是什么意思| 治疗结石最好的方法是什么| 清炖牛肉放什么调料| 借刀杀人是什么生肖| tct是什么意思| 咖啡渣子有什么用途| 羟基是什么| 再生纤维素纤维是什么面料| 玉屏风颗粒主治什么| 维生素b是什么食物| 丙肝抗体阳性是什么意思呢| 冬天有什么水果| 手脚心发热是什么原因| 枸杞什么时候吃最好| 耳朵响吃什么药| mrv是什么检查| 螺旋体感染是什么意思| 母亲o型父亲b型孩子是什么血型| 阎王叫什么| 重力是什么| 没有生抽可以用什么代替| 病原体是什么意思| 3.23是什么星座| 三点水的字有什么| 突然晕厥是什么原因| 38岁属什么生肖| 抑菌液有什么作用| nmol是什么单位| la是什么意思| 背部长痘痘是什么原因造成| 窦性心动过缓吃什么药| 男生学什么技术吃香| 666什么意思| 牛头马面指什么生肖| 什么是脑卒中| 名声大噪是什么意思| 耳朵里长痘是什么原因| 澳门什么时候回归的| 儿童拉肚子吃什么药| 胎儿头围偏大什么原因| 流苏是什么意思| 成都有什么特产| 试管移植后吃什么容易着床| 醋泡什么壮阳最快| 三个土叫什么| 紫药水是什么| 失眠吃什么好睡觉| 牙发黑是什么原因怎么办| 单车是什么意思| 梵高是什么画派| 糖筛和糖耐有什么区别| 女人气血不足吃什么补| dpoy什么意思| 中秋节送什么水果好| 查结核做什么检查| 竖心旁的字与什么有关| 雷猴是什么意思| 冒菜和麻辣烫有什么区别| 返点是什么意思| 任性的女孩有什么特点| 男生下面疼是什么原因| 逆向思维是什么意思| 大头虾是什么意思| 宝宝拉肚子吃什么药好| 发生火灾时的正确做法是什么| 气血虚吃什么药| 导管扩张是什么意思| 16年属什么生肖| 乳房结节是什么原因引起的| 鱼子酱什么味道| 书记是什么级别| 笔走龙蛇是什么生肖| 宫外孕是什么意思| 脑白质变性是什么病| 什么是甲母痣| 女人的网名叫什么好听| 阴囊潮湿瘙痒是什么原因| hi什么意思| 梦见自己请客吃饭是什么意思| 芝士是什么材料做的| 梅毒螺旋体抗体阳性是什么意思| 不将日是什么意思| 日加一笔可以变成什么字| 流清鼻涕吃什么药| 家什是什么意思| 温碧泉属于什么档次| 动物的尾巴有什么作用| 黄鼻涕是什么原因| 背后长痘痘什么原因| 髂静脉在什么位置| 不割包皮有什么影响吗| 这是什么地方| 碳酸氢钠俗称什么| ro什么意思| 临聘人员是什么意思| 什么病需要做透析| 社招是什么意思| 同型半胱氨酸高吃什么药| 草字头一个辛读什么| 长期便秘吃什么药效果最好| 喝白糖水有什么好处和坏处| 冯庸大学现在叫什么| 竹勿念什么| 梦见别人给自己剪头发是什么意思| tnt是什么意思| 脸上有红血丝是什么原因| 脚踝肿挂什么科| 求欢是什么意思| 磅礴是什么意思| 重庆有什么景点| 为什么叫马路| 红斑狼疮复发的症状是什么| 红色裤子搭配什么颜色上衣| 彗星尾征是什么意思| 脚突然抽筋是什么原因| 二丁颗粒主要治什么病| 空调的睡眠模式是什么意思| 猫来家门口有什么预兆| 63年的兔是什么命| 司局级是什么级别| 中元节是什么时候| 早上起床胃疼是什么原因| 小孩子为什么老是流鼻血| 月经来有血块是什么原因| 高中生吃什么提高记忆力| 出淤泥而不染是什么花| 追逐是什么意思| 西兰花不能和什么一起吃| 处暑什么意思| 蝉为什么叫| ppt是什么意思| 民营和私营有什么区别| 京ag6是什么意思| 避孕药是什么原理| 吃什么去黄气美白| 乐高是什么| 少女是什么意思| 深海鱼油有什么作用| 膀胱炎吃什么药好得快| 百度Jump to content

“最接近王羲之真迹”的《万岁通天帖》终成绝世之宝

From Wikipedia, the free encyclopedia
Prograph
Paradigmmulti-paradigm: object-oriented, visual, dataflow
Designed byAcadia University
DeveloperVarious
First appeared1983
OSCross-platform: Classic MacOS, Microsoft Windows, macOS
LicenseProprietary
Major implementations
Prograph CPX, Marten
Influenced by
functional programming, dataflow diagrams
百度 (下转A02版)  客户告知上市公司名称后,我们会对拟质押股票的性质、上市公司近两年业绩、被监管部门处罚情况等内容进行详细核查。

Prograph is a visual, object-oriented, dataflow, multiparadigm programming language that uses iconic symbols to represent actions to be taken on data. Commercial Prograph software development environments such as Prograph Classic and Prograph CPX were available for the Apple Macintosh and Windows platforms for many years but were eventually withdrawn from the market in the late 1990s. Support for the Prograph language on macOS has recently reappeared with the release of the Marten software development environment.[1]

History

[edit]

Research on Prograph started at Acadia University in 1982 as a general investigation into dataflow languages, stimulated by a seminar on functional languages conducted by Michael Levin. Diagrams were used to clarify the discussion, leading to the insight: "since the diagrams are clearer than the code, why not make the diagrams themselves executable!" Thus Prograph - Programming in Graphics - was born as a visual dataflow language. This work was led by Dr. Tomasz Pietrzykowski, with Stan Matwin and Thomas Muldner co-authoring early papers. From 1983 to 1985, research prototypes were built on a Three Rivers PERQ graphics workstation (in Pascal, with the data visualized as fireballs moving down datalinks), and a VAX with a Tektronix terminal, and an experimental compiler was programmed in an IBM PC. This work was continued at Technical University of Nova Scotia by Pietrzykowski and Dr. Philip Cox, including a version done in Prolog.

In 1985, work began on a commercialisable prototype on the Macintosh, the only widely available, low-priced computer with high-level graphics support available at the time. In early 1986, this prototype was taken over by The Gunakara Sun Systems (later renamed to TGS Systems) for commercialisation, TGS formerly being a consulting firm formed by Pietrzykowski at Acadia University. Working with Pietrzykowski and Cox, Terry Kilshaw hired and managed the original development team, with Jim Laskey as the lead developer. In 1987 Mark Szpakowski suggested the merger of object-orientation with visual dataflow, creating an "objectflow" system. After almost four years of development, the first commercial release, v1.2, was introduced at the OOPSLA conference in New Orleans in October 1989. This product won the 1989 MacUser Editor's Choice Award for Best Development Tool. Version 2.0, released in July 1990, added a compiler to the system.

TGS changed its name to Prograph International (PI) in 1990. Although sales were slow, development of a new version, Prograph CPX (Cross-Platform eXtensions) was undertaken in 1992, that was intended to build fully cross-platform applications. This version was released in 1993, and was immediately followed by development of a client-server application framework. Despite increasing sales, the company was unable to sustain operating costs, and following a failed financing attempt in late 1994, went into receivership in early 1995.

As the receivership proceeded, the management and employees of PI formed a new company, Pictorius, which acquired the assets of PI. Shortly afterwards, development of a Windows version of Prograph CPX was begun. Although it was never formally released, versions of Windows Prograph were regularly made available to Prograph CPX customers, some of whom ported existing applications written in Macintosh Prograph, with varying degrees of success.

After management changes at the new company, emphasis shifted from tools development to custom programming and web application development. In April 2002 the web development part of the company was acquired by the Paragon Technology Group of Bermuda and renamed Paragon Canada. The Pictorius name and rights to the Prograph source code were retained by McLean Watson Capital, a Toronto-based investments firm which had heavily funded Pictorius. A reference to Pictorius appeared for a time on the former's Portfolio page, but has since disappeared. The Windows version of CPX was later released for free use, and was available for some time for download from the remnants of the Pictorius website (link below).

A group of Prograph users ("Prographers") calling themselves "The Open Prograph Initiative" (OPI) formed in the late 1990s with the goal of keeping Prograph viable in the face of OS advances by Apple and Microsoft. For a time, the group also sought to create a new open-source visual programming language to serve as Prograph's successor, but with the advent of Andescotia's Marten visual programming environment, participation in the group essentially ceased.

The Prograph language is supported by the Marten IDE from Andescotia Software.[1]

Description

[edit]
Prograph objects. All images courtesy MacTech

During the 1970s program complexity was growing considerably, but the tools used to write programs were generally similar to those used in the 1960s. This led to problems when working on larger projects, which would become so complex that even simple changes could have side effects that are difficult to fully understand. Considerable research into the problem led many to feel that the problem was that existing programming systems focused on the logic of the program, while in reality the purpose of a program was to manipulate data. If the data being manipulated is the important aspect of the program, why isn't the data the "first class citizen" of the programming language? Working on that basis, a number of new programming systems evolved, including object-oriented programming and dataflow programming.

Prograph took these concept further, introducing a combination of object-oriented methodologies and a completely visual environment for programming. Objects are represented by hexagons with two sides, one containing the data fields, the other the methods that operate on them. Double-clicking on either side would open a window showing the details for that object; for instance, opening the variables side would show class variables at the top and instance variables below. Double-clicking the method side shows the methods implemented in this class, as well as those inherited from the superclass. When a method itself is double-clicked, it opens into another window displaying the logic.

Prograph database operation. Method implementation

In Prograph a method is represented by a series of icons, each icon containing an instructions (or group of them). Within each method the flow of data is represented by lines in a directed graph. Data flows in the top of the diagram, passes through various instructions, and eventually flows back out the bottom (if there is any output).

Several features of the Prograph system are evident in this picture of a database sorting operation. The upper bar shows that this method, concurrent sort, is being passed in a single parameter, A Database Object. This object is then fed, via the lines, into several operations. Three of these extract a named index (indexA etc.) from the object using the getter operation (the unconnected getter output passes on the "whole" object), and then passes the extracted index to a sort operation. The output of these sort operations are then passed, along with a reference to the original database, to the final operation, update database. The bar at the bottom of the picture represents the outputs of this method, and in this case there are no connections to it and so this method does not return a value. Also note that although this is a method of some class, there is no self; if self is needed, it can be provided as an input or looked up.

Prograph operators and controls

In a dataflow language the operations can take place as soon as they have valid inputs for all of their connections. That means, in traditional terms, that each operation in this method could be carried out at the same time. In the database example, all of the sorts could take place at the same time if the computer were capable of supplying the data. Dataflow languages tend to be inherently concurrent, meaning they are capable of running on multiprocessor systems "naturally", one of the reasons that it garnered so much interest in the 1980s.

Loops and branches are constructed by modifying operations with annotations. For instance, a loop that calls the doit method on a list of input data is constructed by first dragging in the doit operator, then attaching the loop modifier and providing the list as the input to the loop. Another annotation, "injection", allows the method itself to be provided as an input, making Prograph a dynamic language to some degree.

Execution

[edit]

The integrated Prograph development and execution environment also allowed for visual debugging. The usual breakpoint and single-step mechanisms were supported. Each operation in a data flow diagram was visually highlighted as it executed. A tooltip-like mechanism displayed data values when the mouse was held over a data-link when stopped in debug mode. Visual display of the execution stack allowed for both roll-back and roll-forward execution. For many users the visual execution aspects of the language were as important as its edit-time graphical facilities.

The most important run-time debugging feature was the ability to change the code on the fly while debugging. This allowed for bugs to be fixed while debugging without the need to recompile.

See also

[edit]
  • LabVIEW – System-design platform and development environment
  • PWCT – Visual programming language
  • Spreadsheet 2000 – a unique spreadsheet written in Prograph

References

[edit]
  1. ^ a b "Products : Marten IDE 1.6". Andescotia Software. Retrieved 2025-08-07.

Further reading

[edit]
[edit]
远字五行属什么 六五年属什么 吃什么东西养胃 历法是什么意思 便秘吃什么食物
什么牌子冰箱好 乌鱼子是什么意思 血糖高会出现什么症状 望梅止渴的梅是什么梅 吃什么水果降火最快
犹怜是什么意思 渐冻症是什么病 孕妇梦见鱼是什么意思 北京大栅栏有什么好玩的 为什么很困却睡不着
血糖高的人早餐吃什么最好 朱是什么颜色 安然无恙的恙是什么意思 碳水化合物对人体有什么作用 说话声音小是什么原因
大忌什么意思hcv8jop4ns2r.cn 脚拇指发麻是什么原因hcv9jop2ns0r.cn 霄字五行属什么hcv8jop7ns7r.cn 荔枝和什么吃会中毒hcv7jop9ns0r.cn 黄瓜吃多了有什么坏处hcv8jop4ns8r.cn
甲肝是什么病mmeoe.com 霉点用什么可以洗掉hcv8jop0ns9r.cn 淳朴是什么意思hcv7jop6ns0r.cn 商量是什么意思hcv7jop4ns7r.cn 走读生是什么意思hcv7jop9ns5r.cn
拉肚子吃什么益生菌hcv8jop1ns3r.cn 乡和镇的区别是什么huizhijixie.com 解表药是什么意思hkuteam.com 中国国酒是什么hcv8jop9ns1r.cn 打喷嚏流清鼻涕吃什么药hcv8jop5ns5r.cn
准备好了吗时刻准备着是什么歌hcv7jop9ns0r.cn 相性是什么意思hkuteam.com 参加白事回来注意什么hcv8jop0ns1r.cn 五月三十一号是什么星座hcv7jop6ns6r.cn 梦见自己洗澡是什么意思dajiketang.com
百度