ABCは、
オランダのCWI(Centrum Wiskunde & Informatica)で創出された命令型の汎用
プログラミング言語であり、同時にそのための
統合開発環境も備えています。この言語は、主にLeo Geurts氏、Lambert Meertens氏、Steven Pemberton氏によって開発されました。ABCは対話型かつ構造化された高級言語であり、学習と利用が容易であることを目指しており、
BASIC、
Pascal、AWKといった他の言語の代替手段として位置付けられています。特に、プログラミング教育や
プロトタイピングでの利用に特化されているのが大きな特徴です。
ABCの基本
データ型は5種類と限定されており、変数の宣言は必要ありません。これは、プログラミングの初学者が扱いやすくするための工夫で、
データ型に対する制限が薄いため、多倍長整数や無限長のリスト、無限長の文字列を扱うことができます。さらに、プログラムは通常、トランスパイルされた
PascalやCの同等のシステムに比べて、約4分の1の長さで記述でき、
可読性が高いのもポイントです。
もともとABCはモノリシックなアーキテクチャで構築されていたため、ユーザーインターフェースの作成など、より現代的なニーズには十分に応えられない側面がありました。また、
オペレーティングシステムや
ファイルシステムへの直接アクセスも提供していませんでした。しかしながら、ABCには専用のプログラミング環境があり、これには構文を意識した編集機能や示唆、変数管理、複数ワークスペースのサポートが含まれます。
ABCは
インタプリタと
コンパイラの両方を備えており、最新のバージョンは1.05.02です。この言語は、
UNIX、DOS、Atari、Macintoshといったさまざまなプラットフォームに移植されています。
特筆すべきは、ABCが
Pythonの設計に多大な影響を与えた点です。
Pythonを開発した
グイド・ヴァンロッサム氏は、1980年代初頭にABCの開発に数年間関わっており、その経験が
Pythonの設計に活かされています。以下に、ABCの基本的な操作を示す関数の例を紹介します。
例
文書中の全ての単語を抽出する`words`という関数のコードは以下の通りです:
```abc
HOW TO RETURN words document:
PUT {} IN collection
FOR line IN document:
FOR word IN split line:
IF word not.in collection:
INSERT word IN collection
RETURN collection
```
このように、ABCは非常に直感的であるため、初心者にとっても扱いやすい言語となっています。
関連項目
参考文献
この記事は2008年11月1日以前にFree On-line Dictionary of Computingからの資料を基にし、GFDLバージョン1.3以降の再ライセンス条件に従って作成されています。
外部リンク