プログラフ

プログラミング言語
プログラフ
パラダイムマルチパラダイムオブジェクト指向ビジュアルデータフロー
デザイン:アカディア大学
開発者様々な
初登場1983
OSクロスプラットフォーム: Classic MacOSMicrosoft WindowsmacOS
ライセンス独自の
主要な実装
プログラフ CPX、マーテン
影響を受けた
関数型プログラミングデータフロー

Prographはビジュアルオブジェクト指向データフローマルチパラダイムの プログラミング言語であり、データに対するアクションをアイコンシンボルで表現します。Prograph ClassicやPrograph CPXといった商用Prographソフトウェア開発環境は、長年にわたりApple MacintoshおよびWindowsプラットフォームで提供されていましたが、1990年代後半に市場から撤退しました。macOSにおけるPrograph言語のサポートは、Martenソフトウェア開発環境のリリースにより、最近になって再開されました。[1]

歴史

Prograph の研究は、 1982 年にアカディア大学で、マイケル レビンが実施した関数型言語のセミナーに刺激を受けて、データフロー言語の全般的な調査として開始されました。ダイアグラムを使用して議論を明確化した結果、「ダイアグラムはコードよりも明確なので、ダイアグラム自体を実行可能にすればよいのではないか」という洞察が生まれました。こうして、ビジュアル データフロー言語として 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は、かつてアカディア大学でピエトリコフスキーが設立したコンサルティング会社でした。ピエトリコフスキーとコックスと共に、テリー・キルショーはジム・ラスキーをリーダーとして迎え、最初の開発チームを雇用・運営しました。1987年、マーク・シュパコウスキーはオブジェクト指向とビジュアルデータフローを融合させ、「オブジェクトフロー」システムを構築することを提案しました。約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が保持しました。McLean Watson CapitalのポートフォリオページにPictoriusへの言及が一時期ありましたが、その後削除されました。CPXのWindows版は後に無料で利用可能となり、Pictoriusのウェブサイト(下記リンク)の残骸からしばらくの間ダウンロード可能でした。

1990年代後半、AppleとMicrosoftによるOSの進化に逆らってPrographを存続させることを目標に、「The Open Prograph Initiative」(OPI)と名乗るPrographユーザー(「Prographers」)のグループが結成されました。このグループは、一時期、Prographの後継となる新しいオープンソースのビジュアルプログラミング言語の開発も試みていましたが、AndescotiaのMartenビジュアルプログラミング環境の登場により、グループへの参加は事実上途絶えました。

Prograph言語はAndescotia SoftwareのMarten IDEによってサポートされています。[1]

説明

Prographオブジェクト。すべての画像はMacTechより提供

1970年代にはプログラムの複雑さが著しく増大しましたが、プログラム作成に使用されたツールは概ね1960年代のものと同様でした。そのため、大規模プロジェクトに取り組む際に問題が発生しました。プロジェクトは複雑になりすぎて、単純な変更でさえも完全に理解するのが難しい副作用が生じる可能性がありました。この問題について多くの研究が行われ、既存のプログラミングシステムがプログラムのロジックに重点を置いているのに対し、実際にはプログラムの目的はデータの操作にあることが問題であると多くの人が考えるようになりました。操作されるデータがプログラムの重要な側面であるならば、なぜデータはプログラミング言語の「第一級市民」ではないのでしょうか?この考え方に基づいて、オブジェクト指向プログラミングデータフロープログラミングなど、多くの新しいプログラミングシステムが開発されました。

Prographはこのコンセプトをさらに推し進め、オブジェクト指向手法と完全にビジュアルなプログラミング環境を組み合わせました。オブジェクトは2つの側面を持つ六角形で表され、片方にはデータフィールド、もう片方にはそれらを操作するメソッドが含まれます。どちらかの面をダブルクリックすると、そのオブジェクトの詳細を示すウィンドウが開きます。例えば、変数側を開くと、上部にクラス変数、下部にインスタンス変数が表示されます。メソッド側をダブルクリックすると、そのクラスに実装されているメソッドと、スーパークラスから継承されたメソッドが表示されます。メソッド自体をダブルクリックすると、別のウィンドウが開き、ロジックが表示されます。

Prographデータベース操作。メソッド実装

Prographでは、メソッドは一連のアイコンで表され、各アイコンには命令(または命令のグループ)が含まれます。各メソッド内のデータの流れは、有向グラフ内の線で表されます。データはダイアグラムの上部から流れ、様々な命令を通過し、最終的に下部から出力されます(出力がある場合)。

Prographシステムのいくつかの特徴は、このデータベースソート操作の図から明らかです。上のバーは、このメソッド がconcurrent sort単一のパラメータ で渡されていることを示していますA Database Object。このオブジェクトは、行 を介して複数の操作に渡されます。これらの操作のうち3つは、操作indexAを使用してオブジェクトから名前付きインデックス(など)を抽出しgetter(接続されていないゲッター出力は「オブジェクト全体」を渡します)、抽出されたインデックスをソート操作に渡します。これらのソート操作の出力は、元のデータベースへの参照とともに、最終操作 に渡されますupdate database。図の下部のバーはこのメソッドの出力を表しており、この場合はメソッドへの接続がないため、このメソッドは値を返しません。また、これは何らかのクラスのメソッドですが、 は存在しないことに注意してください。self がself必要な場合は、入力として提供するか、参照することができます。

プログラフ演算子とコントロール

データフロー言語では、全ての接続に有効な入力が揃うとすぐに操作を実行できます。これは、従来の用語で言えば、この手法における各操作は同時に実行できることを意味します。データベースの例では、コンピュータがデータを供給できれば、全てのソート処理を同時に実行できます。データフロー言語は本質的に並行性を持つ傾向があり、マルチプロセッサシステム上で「自然に」実行できます。これが、1980年代にデータフロー言語が大きな注目を集めた理由の一つです。

ループと分岐は、アノテーションを使って操作を変更することで構築されます。例えば、doit入力データのリストに対してメソッドを呼び出すループは、まずdoit演算子をドラッグし、次にループ修飾子を追加して、リストをループの入力として渡すことで構築されます。また、「インジェクション」という別のアノテーションを使うと、メソッド自体を入力として渡すことができるため、Prographはある程度 動的言語になります。

実行

統合されたPrograph開発・実行環境は、ビジュアルデバッグも可能にしました。一般的なブレークポイントとシングルステップ実行のメカニズムがサポートされていました。データフローダイアグラム内の各操作は、実行時に視覚的に強調表示されました。デバッグモードで停止中にデータリンク上にマウスを置くと、ツールチップのようなメカニズムによってデータ値が表示されました。実行スタックのビジュアル表示により、ロールバックとロールフォワードの両方の実行が可能になりました。多くのユーザーにとって、この言語のビジュアル実行機能は、編集時のグラフィカル機能と同様に重要でした。

最も重要なランタイムデバッグ機能は、デバッグ中にコードをオンザフライで変更できることでした。これにより、再コンパイルすることなく、デバッグ中にバグを修正することができました。

参照

  • LabVIEW  – システム設計プラットフォームおよび開発環境
  • PWCT  – ビジュアルプログラミング言語
  • スプレッドシート2000 – Prographで書かれたユニークなスプレッドシート

参考文献

  1. ^ 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)、「プログラフ:予備報告」、コンピュータ言語10 (2): 91– 126、doi :10.1016/0096-0551(85)90002-5
  • キルショウ、テリー(1991年5月)「プログラフプリミティブ」、MacTech Magazine7(5)
  • キルショー、テリー(1992年1月)「Prograph 2.5」、MacTech Magazine8(1)
  • キルショー、テリー(1993年1月)「Prographの絵入りボタンクラス」、MacTech Magazine9(1)
  • キルショー、テリー(1994年3月)「Prograph CPX 1.0のレビュー」、MacTech Magazine103):64–74
  • シュマッカー、カート (1994 年 11 月)、「Prograph CPX - A Tutorial」、MacTech Magazine10 (11)
  • Schmucker, Kurt (1995年1月)、「Prograph CPXのコマンドと元に戻す」、MacTech Magazine11 (1)
  • Schmucker, Kurt (1995 年 3 月)、「Prograph CPX のフィルターとふるい」、MacTech Magazine11 (3)
  • Schmucker, Kurt (1995年5月)、「MacAppとPrograph CPXの比較」、MacTech Magazine11 (5)
  • シェーファー、ダン(1994)、The Power of Prograph CPX、米国:The Reader Network、ISBN 1-881513-02-5
  • Steinman, SB; Carver, KG (1995), Visual Programming with Prograph CPX , Manning, ISBN 978-1-884777-05-9
  • Prograph CPX - チュートリアル - Prograph CPX の最初のリリース直後に書かれた、システムに関する優れた記事です。
  • ビジュアルプログラミング言語:概説 - Prographシステムの簡単な概要が含まれています
  • Open Prograph Initiative - Prographのオープンソース版の作成に関心のあるグループのホームページ
  • YouTubeの「The Computer Chronicles - Visual Programming Languages (1993)」
「https://en.wikipedia.org/w/index.php?title=Prograph&oldid=1298126663」より取得