フローチャートは設計の道具としては使えない

フローチャートの力を思い出そう」という記事をきっかけにフローチャートが一部で話題になっているようだ。

並列処理とかでなければ、フローチャートは設計した結果を記述するのには使える。

たとえば、プログラマーじゃない管理者層の人に、プログラムについて説明を求められたとき。ホワイトボード上でざっくりとした動きを書くのに使う。

こうした用途になら、フローチャートは現在でもそれなりに使える。

だが、それ以上の使い方をしようとすると、貧弱な制御構造というフローチャートの欠点がもろに出てしまう。

まず「筋道立てて考える」という部分を教育しないといけなくて、それにフローチャートを使います、という感じ。

プログラミングの初心者にフローチャートを使わせると、スパゲティプログラムになり易く、それを更正するのに余計な手間がかかる。フローチャートは自由度が高く、一見便利そうに思える。だが、その自由度の高さは、貧弱な制御構造と表裏一体のものである。

アセンブラ言語でプログラミングしていた時代ならともかく、高級言語でプログラミングするのに、フローチャートは害の方が大きいと思う。