2022-01-25 雑談 フロチャートの思い出

1
ほえほえ@スプシマン @hoehoe1234

フロチャート図をTLでみたのですが、懐かしいですね。ちょうど入社した35年?もう忘れましたがその頃に構造化が始まり、コードのフロチャート化が終わりを向かえました。言語の進化と構造化定番の普及により手間のかかるフロチャートのほうが記述力が低いという逆転現象が起きました。

2022-01-25 00:52:47
ほえほえ@スプシマン @hoehoe1234

それまではコボルであるとか、なんというのでしょうか?本当にフロチャートで書いていた部分もあるんですね。これが消えたのはなんとなくUnix、C言語の普及と重なっているように思い出されます。他言語も爆発的に進化していた時期ですね。当時のとても優秀な京大卒の先輩が難しいロジックを一日中

2022-01-25 00:54:58
ほえほえ@スプシマン @hoehoe1234

フローチャートで書いていたのを思い出します。その後、構造化定理、言語の進化、再帰その他の技法、コメント文化の普及によりフロチャートは確実になくなり、状態遷移図(ステートチャート)、モジュール構成図、クラス図、関数IF記述の充実などの「ロジック以外を表す記法」+「コードでロジック」

2022-01-25 00:56:42
ほえほえ@スプシマン @hoehoe1234

という形になりました。その頃C言語マガジンなどが発刊されてフロチャート不要論などが論じられていたように思います。どのような記法、図でも同じですが、同一のものを表すのに2つ以上の方法論があり、包含関係にあるといずれ統一されていくように思います。狭義のフロチャートはコードに吸収され

2022-01-25 00:58:11
ほえほえ@スプシマン @hoehoe1234

ました。ではフローチャートは消えたのでしょうか?いいえ、そんなことはありません。業務フロー、手順などの「より大きな粒度」で使われています。フロチャートは「手順書」なのでなくなることはないんですね。ただ、コードレベルではもう無意味なので書かないだけです。コードのほうが正確に、簡単に

2022-01-25 00:59:51
ほえほえ@スプシマン @hoehoe1234

、かつ、表現力を持って表せますからね。なくなったのはあくまで「狭義のフロチャート」です。例えば暗号化などの手順を大まかに表すためにフロチャート(みたいなもの)を使いますよね。

2022-01-25 01:01:14
ほえほえ@スプシマン @hoehoe1234

言語には目的と特性があるのですが、私がスクラッチが「めんどくさい、フロチャートを書いているみたいだ」とツイートすると某先生に噛みつかれましたが、まさにこれがスクラッチをやる気にならない理由なんですよね。プログラム言語的に退化なんです。

2022-01-25 01:02:33
ほえほえ@スプシマン @hoehoe1234

言うまでも有りませんがスクラッチはとても優秀なソフトですし、キーボードが使えない年代の子どもたち、また、プログラミングを始めた子どもたちにはベストの選択の一つでしょう。私が言っているのはそういうことではなくて、すでに現代のフロチャートがない時代にわざわざ退化したプログラミング

2022-01-25 01:04:01
ほえほえ@スプシマン @hoehoe1234

であるスクラッチは教育用(と趣味)以外では用途がなくめんどくさくて仕方がないということです。これは必要としない人(私ですね)がスクラッチを使いたくないといっているだけなので使わなきゃいいんですよね。そんなことは分かっています。

2022-01-25 01:06:29
ほえほえ@スプシマン @hoehoe1234

今回言いたかったのは、かつての「とてもめんどくさいフロチャートを書く作業」を体験したければスクラッチをやってみるといいと思います。変数が多いプログラム、ちょっと入り組んだアルゴリズムなどを実装するのは「単に作業量として」うんざりします。

2022-01-25 01:08:00
ほえほえ@スプシマン @hoehoe1234

関数IFとコードでロジックを表すようになり、補助資料は状態を表す、全体の概要を表す、関連を表すなど「ロジック以外」になったのは本当良かったですね。かつてメジャーだった表現記法で消えたのは(狭義の)フロチャートぐらいでしょうか。なかなかに感慨深いです。

2022-01-25 01:10:53