見出し画像

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

〜プログラミング苦手な人は、「歴史」から入ってみよう!の巻〜

プログラミングの世界はとにかく「移り変わり」が激しいもの。JavaScriptなんか、自分の知ってる範囲だけで「3通りの書き方」があったりする。

*その分、「飽きがこなくていい」側面もあるのだけれど

そんな「移り変わり」の激しい世界で、「何をやると、流行に左右されないか」には誰しもアタマを悩めるもの。トクイならともかく、ニガテ組的には大モンダイ。

昔であればBasicから入ってC言語、またはAssemblerに進む、というのがスタンダードだったようですが、今は間口も広がった分、選択肢が多すぎて絞り切れない(>_<)

だったらいっそのこと、Basicよりはるか大昔、「コンピュータのもとになった考え」まで遡った方が応用効くんじゃないか、と考えてみたり。

新しいのはドンドン変わるけれども、「そのジャンルができた出発点」は動きようがないから(^∇^)、思い切り古いところまでウンと遡ってみたらどうだろうーー

というわけで、今回はその「ウンと遡ってみた」を、Database, Calculator, Binaryの3つに絞って話してみたいと思います。

[1. “Database”を考えた人: フランシス・ベーコン(1561年生まれ〜1626年没) ]

(画像出典: https://ja.m.wikipedia.org/wiki/フランシス・ベーコン_(哲学者))

データベースDatabaseの原型を考えた人は、それがこのフランシス・ベーコンさん!

16世紀イングランドの出世頭みたいな人で、最終的には大法官まで上り詰めたという。が、派手好みの生活がたたって収賄で刑を受け、出世街道も終わりを告げたそうな。

で、この出世の鬼たるベーコンさん、ガクモンのあり方を大改革した人として、今やそっちの方で有名になっちゃったという。

というのも、ベーコンさんの16世紀は中世の考え方を引きずってて、スコラ学とか論理学とか、重箱のすみをさらにつつくようなガクモンしかなかったそう。

それに大きな不満を感じてたベーコンさんは、「自然を観察し、その記録を蓄積する」という現代につながるやり方を提案したそうな。

出世の鬼のベーコンさん、実はそういう「自分のプロジェクトを実現させる」ために出世した面もあるので、ベーコンさんの地位と学識と才覚がそろってようやく、「今までと違うガクモン」も端緒についた由。

ベーコンさんは基本、すべてのものごとを「三角形」で考えたらしく、ガクモンの3大分野を「歴史」「哲学」「詩」に分類したりしてる。

これは「人間」「神」「自然」に置き換えもきくし、「大きな分野を分割して」「記録して保存する」という点ではまさにデータベースの生みの親!という感じ。

*この先、アメリカ人の学者で、「図書館の10進法分類」を考え出したメルヴィル・デューイさんがいるのですが、それは19世紀の話なので、今回は割愛!

[2. “計算機”を考えた人:ブレーズ・パスカル(1623年生まれ〜1662年没) ]

(画像出典: https://ja.m.wikipedia.org/wiki/ブレーズ・パスカル)

「人間は考える葦である」

と分かったような分からないような言葉を残したブレーズ・パスカルさん。

「頭痛がすると数学の勉強をして治した」

という逸話を持つくらい、とにかく数学がメチャメチャ得意だった人。ご本人の書き物を読むと、「数学mathématiques」じゃなくて「幾何学géométrie」と出てくるけど。

パスカルさん、数学も出来たけど、とにかくアイディアマンだったらしく、「ヘクトパスカル」の単位から、乗合馬車の「公共交通機関」まで、今につながるシステムを考え出してる。

この人はお父さんが銀行だか税関だか、とにかく「計算が日常業務の職場」づとめだったそうで、お父さんは毎日毎日計算で大変そうだ、と殊勝な心がけをおこし、ついに「計算機」を発明したという。

実際には使われなかったそうだけど、計算という「人がやるしかない」と思われてたものを「キカイにやらせよう」と考え、それを開発したということではパスカルさんが嚆矢(はしり)。

21世紀の今でこそ、桁数の多い計算もコンピュータだのみだけど、これを昔は「人力でやっていた」と考えるとスゴイ。

実際、第一次大戦前後のヨーロッパ中央銀行では、手持ち残高をぜんぶ「銀行員が手で数えてた」そうなので、それを思うとアタマが下がります。

*会計士を “Accountant”と呼ぶのは、「Countingする人」、つまり「数える人」が元々の意味らしいです

[3. “0/1 Binary”を考えた人: ライプニッツ(1647年生まれ〜1716年没) ]

(画像出典: https://ja.m.wikipedia.org/wiki/ゴットフリート・ライプニッツ)

そして最後はこの、スゴイ髪型のライプニッツ! もちろん地毛じゃなくて、当時のマストアイテム「かつら」なんだけども。

さっきのパスカルさんも多芸多才でしたが、ライプニッツさんはそれに輪をかけて多芸多才。多才すぎて、完成した作品がほとんどないそうな。

*本業は外交官だったそうです

ライプニッツさんの業績としてよく引き合いに出されるのは、différenciation/integral。ビブンセキブンという、例のアレ。

ところがライプニッツさん、ビブンセキブン以外にも数学に多大な貢献をしていて、それが「0/1 Binary」、二進法の数学。

ライプニッツさんはとにかく莫大な知的好奇心とネットワークを持っていたので、当時のヨーロッパ人にはぜんぜん別世界の「中国」にまで知識が及んでたそう。

中国では昔から「八卦」(当たるも八卦、当たらぬも八卦)という「占い」の手法が超メジャー。卜占(ぼくせん)と言うんじゃなかったか。

八卦では、「8本の棒切れ」を放り投げて、その「棒が重なったところ」を数えてた占ったそう。

「重なるか」「重ならないか」という二律背反なものを図式化したのが「陰陽(Ying and Yang)」だそうで、これを見てピーン!ときたライプニッツさん。

「0101…」の組み合わせで数学をやろうと考え、それが現代の0/1 Binaryの始まりー始まりー。

「最近わたしは、0と1だけで計算をしている」

なんて書簡に書いてあるけど、やはりスゴイ人は「自分の発想とぜんぜん違うものを活用する」チカラを持ってるみたい。

陰陽の方式を、あるか/ないかにして、さらにそれを「0/1」に整理できるんだからスゴイ。なんのかんの言っても、コンピュータの原点はライプニッツにあるんじゃないの、と思うくらい。

ライプニッツさんは多彩すぎたせいか、「コンピュータの生みの親」という言及はほとんど見たことないですが、実質的にはかなりの貢献をしてるみたい。

[まとめ]

フツー、コンピュータの歴史というと、チューリングマシンとか、フォン・ノイマンあたりからスタートするので、いっそのこと、「もっと昔に戻ろう!」と考えてみたのでした。

プログラミングがニガテな人は、むしろ「歴史」とか「エピソード」に興味あるかもしんないので、そっちから攻めたらどうかなーと思ったのが、今回のnoteの出発点。

コンピュータと言っても、必ず誰かが考えて、実際に作ったものなので、「はじめてものがたり〜」を追っかけるのが、ニガテ組には楽しい作業かと思ったのです( ´ ▽ ` )ノ

#プログラミング
#数学史
#学習法
#歴史

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