| パラダイム | マルチパラダイム:オブジェクト指向、ビジュアル、データフロー |
|---|---|
| デザイン: | アカディア大学 |
| 開発者 | 様々な |
| 初登場 | 1983 |
| OS | クロスプラットフォーム: Classic MacOS、Microsoft Windows、macOS |
| ライセンス | 独自 |
| 主な実装 | |
| プログラフ CPX、マーテン | |
| 影響を受けた | |
| 関数型プログラミング、データフロー 図 | |
Prograph は、データに対して実行されるアクションを表すためにアイコン シンボルを使用する、ビジュアル、オブジェクト指向、データフロー、マルチパラダイム プログラミング言語です。Prograph Classic や Prograph CPX などの商用 Prograph ソフトウェア開発環境は、長年Apple MacintoshおよびWindowsプラットフォームで利用可能でしたが、1990 年代後半に市場から撤退しました。macOS での Prograph 言語のサポートは、Marten ソフトウェア開発環境のリリースにより最近再登場しました。[1]
歴史
Prograph の研究は、 1982 年にアカディア大学で、Michael Levin が実施した関数型言語のセミナーに刺激されて、データフロー言語の一般的な調査として開始されました。ダイアグラムを使用して議論が明確になり、「ダイアグラムはコードよりも明確なので、ダイアグラム自体を実行可能にしてはどうか」という洞察が生まれました。こうして、視覚的なデータフロー言語として Prograph (Programming in Graphics) が誕生しました。この作業は Tomasz Pietrzykowski 博士が主導し、Stan Matwin と Thomas Muldner が初期の論文を共同執筆しました。1983 年から 1985 年にかけて、Three Rivers PERQグラフィックワークステーション( Pascalで、データはデータリンクを移動する火の玉として視覚化) とTektronix端末を備えたVAXで研究プロトタイプが構築され、 IBM PCで実験的なコンパイラがプログラムされました。この作業は、ノバスコシア工科大学で Pietrzykowski 氏と Philip Cox 博士によって継続され、 Prologで作成されたバージョンも含まれていました。
1985 年、当時はハイレベルなグラフィックス サポートを備えた唯一の広く入手可能な低価格コンピュータであった Macintosh 上で、商用化可能なプロトタイプの開発が開始されました。1986 年初頭、このプロトタイプはThe Gunakara Sun Systems (後にTGS Systemsに改名) に引き継がれ、商用化されました。TGS は、以前はアカディア大学で Pietrzykowski が設立したコンサルティング会社でした。Terry Kilshaw は Pietrzykowski および Cox と協力しながら、Jim Laskey を主任開発者として、最初の開発チームを雇用して管理しました。1987 年、Mark Szpakowski は、オブジェクト指向とビジュアル データフローを統合して、「オブジェクトフロー」システムを作成することを提案しました。ほぼ 4 年間の開発期間を経て、最初の商用リリースである v1.2 が1989 年 10 月にニューオーリンズで開催されたOOPSLAカンファレンスで発表されました。この製品は、1989 MacUser Editor's Choice Award の最優秀開発ツール賞を受賞しました。 1990 年 7 月にリリースされたバージョン 2.0 では、システムにコンパイラが追加されました。
TGS は 1990 年にPrograph International (PI)に社名を変更しました。売上は伸び悩みましたが、1992 年に完全なクロスプラットフォーム アプリケーションの構築を目的とした新しいバージョンのPrograph CPX ( Cross-Platform eXtensions ) の開発に着手しました。このバージョンは 1993 年にリリースされ、その直後にクライアント サーバー アプリケーション フレームワークの開発が続きました。売上は増加したものの、同社は運営コストを維持できず、1994 年後半の資金調達の試みが失敗し、1995 年初頭に破産しました。
破産管財手続きが進むにつれ、PI の経営陣と従業員は新しい会社Pictoriusを設立し、PI の資産を取得しました。その後すぐに、Prograph CPX の Windows バージョンの開発が開始されました。正式にリリースされることはありませんでしたが、Windows Prograph のバージョンは Prograph CPX の顧客に定期的に提供され、一部の顧客は Macintosh Prograph で作成された既存のアプリケーションを移植し、さまざまな成功を収めました。
新会社の経営陣が交代した後、重点はツール開発からカスタム プログラミングと Web アプリケーション開発に移りました。2002 年 4 月、同社の Web 開発部門はバミューダの Paragon Technology Group に買収され、Paragon Canada に改名されました。Pictorius の名前と Prograph ソース コードの権利は、Pictorius に多額の資金を提供していたトロントを拠点とする投資会社 McLean Watson Capital が保持しました。Pictorius への言及は、同社のポートフォリオ ページにしばらく表示されていましたが、その後は消えています。CPX の Windows バージョンは後に無料で使用できるようにリリースされ、しばらくの間、Pictorius Web サイトの残骸 (以下のリンク) からダウンロード可能でした。
1990 年代後半、Apple と Microsoft による OS の進歩に負けずに Prograph を存続させることを目標に、自らを「The Open Prograph Initiative」(OPI) と呼ぶ Prograph ユーザー (「Prographers」) のグループが結成されました。このグループは、一時期、Prograph の後継となる新しいオープン ソース ビジュアル プログラミング言語の作成も試みましたが、Andescotia の Marten ビジュアル プログラミング環境の登場により、グループへの参加は事実上停止しました。
Prograph言語はAndescotia SoftwareのMarten IDEによってサポートされています。[1]
説明
1970 年代にはプログラムの複雑さが著しく増大しましたが、プログラムの作成に使用されたツールは、一般的に 1960 年代に使用されたものと似ていました。このため、大規模なプロジェクトに取り組む際に問題が発生しました。プロジェクトが複雑になりすぎて、単純な変更でさえも、完全に理解するのが難しい副作用が生じる可能性があります。この問題についてかなりの調査を行った結果、既存のプログラミング システムがプログラムのロジックに重点を置いているのに対し、実際にはプログラムの目的はデータの操作にあることが問題であると多くの人が考えるようになりました。操作されるデータがプログラムの重要な側面であるなら、なぜデータはプログラミング言語の「第一級市民」ではないのでしょうか。これに基づいて、オブジェクト指向プログラミングやデータフロー プログラミングなど、いくつかの新しいプログラミング システムが開発されました。
Prograph はこれらの概念をさらに進め、オブジェクト指向の方法論と完全に視覚的なプログラミング環境の組み合わせを導入しました。オブジェクトは 2 つの側面を持つ六角形で表され、1 つの側面にはデータ フィールドが含まれ、もう 1 つの側面にはそれらを操作するメソッドが含まれます。いずれかの側面をダブルクリックすると、そのオブジェクトの詳細を示すウィンドウが開きます。たとえば、変数側を開くと、上部にクラス変数、下部にインスタンス変数が表示されます。メソッド側をダブルクリックすると、このクラスに実装されているメソッドと、スーパークラスから継承されたメソッドが表示されます。メソッド自体をダブルクリックすると、ロジックを表示する別のウィンドウが開きます。
Prograph では、メソッドは一連のアイコンで表され、各アイコンには命令 (または命令のグループ) が含まれます。各メソッド内では、データの流れは有向グラフの線で表されます。データは図の上部から流れ、さまざまな命令を通過し、最終的に下部から流れ出ます (出力がある場合)。
Prograph システムのいくつかの特徴は、このデータベース ソート操作の図から明らかです。上のバーはconcurrent sort、このメソッド が単一のパラメータ で渡されていることを示していA Database Objectます。次に、このオブジェクトは、行を介していくつかの操作に送られます。これらのうち 3 つは、操作indexAを使用してオブジェクトから名前付きインデックス ( など)を抽出しgetter(未接続の getter 出力は「全体の」オブジェクトを渡します)、抽出されたインデックスをソート操作に渡します。これらのソート操作の出力は、元のデータベースへの参照とともに、最終操作 に渡されます。update database図の下部のバーはこのメソッドの出力を表しており、この場合、このメソッドへの接続はないため、このメソッドは値を返しません。また、これは何らかのクラスのメソッドですが、 がないことにも注意してください。selfselfが必要な場合は、入力として提供したり、検索したりできます。
データフロー言語では、すべての接続に有効な入力があるとすぐに操作を実行できます。つまり、従来の用語で言えば、この方法では各操作を同時に実行できます。データベースの例では、コンピューターがデータを供給できる場合、すべてのソートを同時に実行できます。データフロー言語は本質的に同時実行性が高く、つまりマルチプロセッサシステムで「自然に」実行できます。これが、1980 年代に非常に大きな関心を集めた理由の 1 つです。
ループと分岐は、アノテーションを使用して操作を変更することで構築されます。たとえば、doit入力データのリストに対してメソッドを呼び出すループは、最初に doit 演算子をドラッグし、次にループ修飾子を添付して、リストをループへの入力として提供することで構築されます。別のアノテーションである「インジェクション」を使用すると、メソッド自体を入力として提供できるため、Prograph はある程度
動的言語になります。
実行
統合された Prograph 開発および実行環境では、視覚的なデバッグも可能でした。通常のブレークポイントとシングル ステップ メカニズムがサポートされていました。データ フロー ダイアグラムの各操作は、実行時に視覚的に強調表示されました。デバッグ モードで停止しているときにマウスをデータ リンク上に置くと、ツールチップのようなメカニズムによってデータ値が表示されました。実行スタックの視覚的な表示により、ロールバックとロールフォワードの両方の実行が可能になりました。多くのユーザーにとって、言語の視覚的な実行の側面は、編集時のグラフィカル機能と同じくらい重要でした。
最も重要なランタイム デバッグ機能は、デバッグ中にコードをオンザフライで変更できることです。これにより、再コンパイルすることなくデバッグ中にバグを修正できるようになりました。
参照
- LabVIEW – システム設計プラットフォームおよび開発環境
- PWCT – ビジュアルプログラミング言語
- スプレッドシート 2000 – Prograph で書かれたユニークなスプレッドシート
参考文献
- ^ ab 「製品: Marten IDE 1.6」。Andescotia Software 。 2019年5月31日閲覧。
さらに読む
- Cox, PT; Pietrzykowski, T. (1984)、「Prograph の高度なプログラミング支援」、技術レポート 8408、ハリファックス、ノバスコシア州: ノバスコシア工科大学コンピュータサイエンス学部。
- Cox, PT; Mulligan, IJ (1984)、「グラフィカル関数型言語 Prograph のコンパイル」、技術レポート 8402、ノバスコシア州ハリファックス: ノバスコシア工科大学コンピュータサイエンス学部。
- Matwin, S.; Pietrzykowski, T. (1985)、「Prograph: 予備報告」、Computer Languages、10 (2): 91–126、doi :10.1016/0096-0551(85)90002-5。
- キルショウ、テリー(1991年5月)「プログラフプリミティブ」、MacTech Magazine、7(5)。
- キルショウ、テリー(1992年1月)、「Prograph 2.5」、MacTech Magazine、8(1)。
- キルショウ、テリー(1993年1月)「Prographの絵入りボタンクラス」、MacTech Magazine、9(1)。
- キルショウ、テリー(1994年3月)「Prograph CPX 1.0のレビュー」、MacTech Magazine、10(3):64–74。
- シュマッカー、カート (1994 年 11 月)、「Prograph CPX - A Tutorial」、MacTech Magazine、10 (11)。
- Schmucker, Kurt (1995 年 1 月)、「Prograph CPX のコマンドとアンドゥ」、MacTech Magazine、11 (1)。
- カート・シュマッカー (1995 年 3 月)、「Prograph CPX のフィルターとふるい」、MacTech Magazine、11 (3)。
- Schmucker, Kurt (1995 年 5 月)、「MacApp と Prograph CPX - 比較」、MacTech Magazine、11 (5)。
- シェーファー、ダン(1994)、The Power of Prograph CPX、米国:The Reader Network、ISBN 1-881513-02-5。
- スタインマン、SB; カーバー、KG (1995)、Visual Programming with Prograph CPX、マニング、ISBN 978-1-884777-05-9
外部リンク
- Prograph CPX - チュートリアル - Prograph CPX の最初のリリース直後に書かれた、システムに関する優れた記事です。
- ビジュアルプログラミング言語:概要 - Prographシステムの簡単な概要が含まれています
- Open Prograph Initiative - Prograph のオープンソース バージョンの作成に関心のあるグループのホームページ
- コンピュータクロニクル - ビジュアルプログラミング言語 (1993) YouTube
