| パラダイム | マルチパラダイム:命令型、手続き型、構造化型 |
|---|---|
| デザイン: | レオ・ガーツ、ランバート・メルテンス、スティーブン・ペンバートン |
| 開発者 | Centrum Wiskunde & Informatica (CWI) |
| 初登場 | 1987年1月 |
| 安定リリース | 1.05.02 / 1990 |
| タイピングの規律 | 強い、多形的な |
| OS | Unix ライク、Windows、MacOS、Atari TOS |
| Webサイト | ホームページ.cwi.nl/~steven/abc/ |
| 影響を受けた | |
| SETL、アルゴル68 [1] | |
| 影響を受けた | |
| パイソン | |
ABCは、オランダのアムステルダムにあるCentrum Wiskunde & Informatica (CWI) でLeo Geurts、Lambert Meertens、Steven Pembertonによって開発された命令型の汎用プログラミング言語および統合開発環境(IDE)です。[2]対話型で構造化された高水準言語であり、 BASIC、Pascal、AWKの代わりに使用することを目的としています。教育やプロトタイピングを目的としており、システムプログラミング言語としては意図されていません。
ABCは、1980年代半ばに数年間ABCシステムに取り組んでいたGuido van Rossumによって開発されたPython言語の設計に大きな影響を与えました。 [3] [4]
特徴
設計者らは、ABCプログラムは通常、同等のPascalやCプログラムに比べて約4分の1のサイズで、より読みやすいと主張している。[5]主な特徴は以下のとおりである。
- 基本的なデータタイプは5つだけ
- 変数宣言は不要
- トップダウンプログラミングの明示的なサポート
- 文のネストはオフサイドルールによるインデントで示される。
- 無限精度の演算、無制限のサイズのリストと文字列、および直交性と初心者でも使いやすいその他の機能
- 多態的なコマンドと関数
- コマンド補完、永続的なワークスペース、個別のファイル処理のない対話型環境
ABC はもともとモノリシックな実装であったため、グラフィカル ユーザー インターフェイス(GUI)の作成などの新しい要件に適応することができませんでした。ABC は、基盤となるファイル システムやオペレーティング システムに直接アクセスできませんでした。
完全な ABC システムには、構造エディタ(構文指向エディタ)、提案、静的変数(永続的)、および複数のワークスペースを備えたプログラミング環境が含まれており、インタープリタ-コンパイラとして利用できます。2020 年現在[アップデート]、最新バージョンは 1.05.02 で、Unix、DOS、Atari、 Apple MacOSに移植されています。
例
words文書内のすべての集合を収集する関数の例: [6]
単語文書を返却する方法:
コレクションに{}をPUT
FOR 行 IN ドキュメント:
FOR 単語 IN 分割行:
単語がコレクションにない場合:
コレクションに単語を挿入
返品コレクション
実装
ABC は複数のイテレーションを経て、現在のバージョンは 4 番目のメジャー リリースです。Unix 系システム、MS-DOS/Windows、Macintosh、その他のプラットフォーム向けの実装が存在します。ソース コードは 1980 年代後半から 1990 年代前半にかけて Usenet 経由で公開されました。
さらに読む
ABC の詳細については、Leo Geurts、Lambert Meertens、Steven Pemberton 著の「The ABC Programmer's Handbook」(ISBN 0-13-000027-2) を参照してください。ニュースレターとメーリング リストは CWI から入手できます。
参考文献
- ^ Biancuzzi, Federico; Warden, Shane (2009 年 4 月)。プログラミングの達人: 主要プログラミング言語の開発者との対話。O'Reilly Media。p . 32。ISBN 978-0-596-51517-12009 年12 月 14 日に取得。
彼 [Lambert Meertens] は、さまざまな方法で組み合わせてあらゆる種類の異なるデータ構造やプログラム構造を作成することができる構造を提供するというALGOL 68の哲学に明らかに影響を受けていました。 – Guido van Rossum
- ^ ペンバートン、スティーブン(1987 年 1 月)。「PC 用の代替シンプル言語と環境」IEEE ソフトウェア。4 (1): 56–64。doi : 10.1109 /MS.1987.229797。S2CID 12788361 。
- ^ Hamilton, Naomi (2008-05-08). 「プログラミング言語の AZ: Python」。Computerworld。IDG Communications。2008-12-29 のオリジナルからアーカイブ。2020-09-04に取得。...
私は、ABC の欠点を改善し、ABC と「ほぼ、しかし完全には異なる」言語を設計して実装できると考えました...
- ^ Stewart, Bruce (2002-06-04). 「An Interview with Guido van Rossum」ONLamp.com . O'Reilly Media. 2013-03-13 のオリジナルからアーカイブ。2020-09-04に取得。
... 頭の中で、失敗した理由のいくつかを分析していました。
- ^ Pemberton, Steven (2012-02-22). 「ABCプログラミング言語:簡単な紹介」Centrum Wiskunde & Informatica (CWI) . アムステルダム. 2020-09-04閲覧。
- ^この記事は、2008 年 11 月 1 日より前に Free On-line Dictionary of Computingの ABC から取得した資料に基づいており、 GFDLバージョン 1.3 以降 の「再ライセンス」条件に基づいて組み込まれています。
外部リンク
- ABC プログラマーハンドブック
