見出し画像

(第28回)「プログラミングやりたくない!」〜下から目線のコーディング武者修行〜

〜コンピュータの生みの親、Charles Babbageさんの本を読んでみた〜

「True/FalseはBooleanと言います」

という説明はあっても、「その方式を考え出した人」であるGeorge Booleについての説明はサッパリ目にしない。

プログラミングの参考書を開くたび、「おかしいなー、おかしいなー」(©稲川淳二)という気持ちだったので、George Booleさんの原書を購入して通読。その感想をこのブログにもしたためておきました。

プログラミング関係の話はたくさんあっても、プログラミングという方式を「考え出した人たち」の話がないのはシャクゼンとしないものがあるので、機会を見ては「どんな人がこんなことを考えたんだろう?」と調べもの。

そういう「考え出した人たち」のひとりが、今回のテーマであるCharles Babbageさん。

Alan Turingと一緒に扱われることが多いこのBabbageさんも、ご多分にもれず、「何をした人なのか」はサッパリ。

というわけで、手近なところで見つかったBabbageさんの書籍 "On the Economy of Machinery and Manufactures" (Routledge/Thoemmes Press, 1993)を読んでみました。原著の出版は1835年ナリ。

Babbageの著書 "On the Economy of Machinery and Manufactures"(1835年)

画像1

ページを開いてしばらくして分かりましたが、コレ、コンピュータの話じゃないぞ、と。「キカイとかツールを使ってもっと効率的な事業運営をしよう!」みたいな内容でした。はたた(;´∀`)

ところがそれでも「オリジナルにあたる」のは大事ダナーと痛感。というのも、さすがコンピュータ的な発想する人だけあって、もうほとんど「Object指向の説明書」といってもいいくらい。

THERE exist amongst the workmen of almost all classes, certain rules or laws which govern their actions towards each other, and towards their employers.
(Ibid., p. 293)

訳すのはメンドイので要点だけかいつまんで言うと、どんな階級(Classes)の働き手(workmen)にも何がしかのルールとか法則はあるもので、それがお互いに作用したり、あとは雇い主(employers)に向けて行なわれる、云々。

Babbageさんが「キカイを導入してもっと効率化しよう!」というぐらいなので、当時のイギリスは産業革命の真っ只中。それまでは個人作業だった労働も、だんだんと多人数で扱うようになってきた様子。

*その辺りの背景が綿々と書かれている本でした

Babbageさんは"Objectとは何か"も説明してた!

でもこれ、当時の職工とか工場を説明しているようだけれども、まんま「Object」に置き換えが可能な文面。例えば"workmen"を"objects"に、"actions"を"methods"に、”employers”を"users"に置き換えるとこんな風:

THERE exist amongst the {objects} of almost all classes, certain rules or laws which govern their {methods} towards each other, and towards their {users}.

どんなClass内のObjectにも、個々の関係を支配するmethodがあって、それがobject同士の関係と、そのobjectのuser、つまりprogrammerへの振る舞いを決めている、なんて。

前回の投稿で、「Object指向は、多人数で開発する過程で必要になってきた考え方」と書いたように、結局、「それまでの個人作業から、多人数がひとつの工場で働く時代に移ってきた」場合、どっかしらそういう「運営ルール」みたいなのが必要になるみたい。

実際、その後に色々書いてあるんですが、「そこで働く人々の利益に貢献する」「間違いやインチキをしないようにする」「各個人への干渉は最小に抑える」など、もうこれObjectの話じゃね?という感じ。

Babbageさんは、Adam Smith "The Wealth of Nation"に影響を受けた数学者

そもそもBabbageさんは、18世紀に経済学というものを打ち立てたAdam Smithに大きな影響を受けたようで、本全体の書き方もSmithの代表作"The Wealth of Nation"によく似ています。

スミスの本は「針工場」の話から始まるので、Babbageさんも針をきれいに揃えるにはどうするか、なんて話から「キカイとかツールを使うと、カンタンにできるよ」と説明を始めてました。

で、スミスさんは「分業することで生産性を向上させる」という話をしてるのですが、そっからBabbageさんは「肉体労働だけじゃなく、頭脳労働も分業可能だよ!」と話を進めた格好。

もちろん、それにはフランスのエライ人がTable of Logarithms(対数表)を作るにあたって計算がとんでもないことになる、どうにかできないか、というところから、そうした計算もセクションを分けて複数人でやろうーーなんていう話が引用されてました。

この分業云々は、後年、マルクスさんが「仕事に従事してる人間が、全体を見通せなくなった。働くヨロコビは分業によって失われる」とヒハンしたりするものの、やっぱり当時は画期的な考え方だったんでしょう。

色んなものが分業可能! => 細分化してプログラムにする?

プログラミングも結局、「人間のやってる作業を細分化して、コンピュータにやらせる」ということなので、おそらくBabbageさん、この「頭脳労働も分担可能だ!」と気づいたところから、「やること自体も細分化して定義できる!」と気づいたんじゃないかなー。たぶん。

ところが今回とりよせた本はツールとキカイの話のみだったので(^_^;)、次はちゃんとコンピュータについて扱った本を読んでみたいと思います。


この記事が気に入ったらサポートをしてみませんか?