ABC (プログラミング言語)

ABC は、オランダのCWI（Centrum Wiskunde & Informatica）で開発された命令型汎用プログラミング言語およびその統合開発環境である。主な開発者は、Leo Geurts, Lambert Meertens, Steven Pemberton。対話型で構造化された高級言語であり、習得と利用が容易にできるように、またBASIC, Pascal, AWKなどの代替となることを意図して設計された。システムの記述用というよりは、プログラミング教育用やプロトタイピングでの利用に焦点を当てて設計されている。ABCは、Pythonの設計に強い影響を与えた。

概要 
ABCの基本データ型は5種類しかない。変数の宣言は不要である。トップダウン・プログラミングを明確にサポートしている。ブロックの階層（入れ子）は字下げで示される。初心者にも扱いやすいようデータ型の制限が希薄になっており、多倍長整数だけでなく、無限長のリストや無限長の文字列が可能である。設計者によれば、ABCで書かれたプログラムは同等の内容のPascalやC言語のプログラムの4分の1程度の長さであり、可読性が高い。

もともとのABCはモノリシックな実装であったため、グラフィカルユーザインタフェースの生成といった新たな要求に応えることが不可能である。ABC はオペレーティングシステムやファイルシステムに直接アクセスできなかった。

ABCには専用のプログラミング環境があり、構文を意識した編集や示唆、変数の保持、複数のワークスペースなどの機能がある。

ABCにはインタプリタとコンパイラがあり、現在のバージョンは 1.05.02 である。ABC はUNIX、DOS、Atari、Macintoshに移植されている。

ABCはPythonの設計に重大な影響を与えた。Python を開発したグイド・ヴァンロッサムは1980年代初期に ABC システム開発に数年間参加していた。

例 
文書中の全ての単語を抜き出す words という関数の例を以下に示す。

 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

関連項目 
オフサイドルール

参考文献

外部リンク 
 A Short Introduction to the ABC Language
 ABC Programmer's Handbook

プログラミング言語
教育ソフトウェア
教育用プログラミング言語