安敦誌


つまらない話など
by antonin
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
検索
最新の記事
アキレスと亀
at 2017-05-02 15:44
受想行識亦復如是
at 2017-05-02 03:26
仲介したことはあまりないが
at 2017-04-29 03:36
サンセット・セレナード
at 2017-04-12 23:17
水分子と日本人は似ている
at 2016-06-04 01:49
ほげ
at 2015-06-05 03:46
フリーランチハンター
at 2015-04-17 01:48
アメリカのプロテスタント的な部分
at 2015-04-08 02:23
卯月惚け
at 2015-04-01 02:22
光は本当に量子なのか
at 2015-03-17 23:48
記事ランキング
タグ
(295)
(146)
(122)
(95)
(76)
(65)
(59)
(54)
(45)
(40)
(40)
(39)
(32)
(31)
(28)
(27)
(25)
(24)
(22)
(15)
最新のコメント
>>通りすがり ソ..
by Appleは超絶ブラック企業 at 01:30
>デスクトップ級スマート..
by 通りすがり at 03:27
7年前に書いた駄文が、今..
by antonin at 02:20
助かりました。古典文学の..
by サボり気味の学生さん at 19:45
Appleから金でも貰っ..
by デスクトップ級スマートフォン at 22:10
以前の記事

車輪を再発明してみる

プログラミングの世界で有名な原則のひとつに、DRY原則というやつがある。"Don't Repeat Yourself"だか、そんな感じの言葉の略だったと思うが、要するに同じ作業を繰り返すようなことをしないで済むというのがコンピューターを利用する目的なのだから、同じようなプログラム単位を何度も書き直すようなことをしないで、共通化したり再利用したりして生産性を上げましょう、という鉄則がある。「車輪の再発明をしない」というともうちょっと進んでいて、"yourself"に限らず、誰かが仕上げたことのある仕事はそれを利用させてもらって、同じことを繰り返すのはやめましょう、という原則になる。

ということで、職業プログラマは基本的に先人の成果が存在するような基本的な作業を避けて生産性を上げるべきなのだけれども、一方で、常に新しい未知の分野に挑戦しないと陳腐化して価値が下がっていくのもまた職業プログラマの宿命なので、先人の成果を利用するための学習という部分にも一定の労力と時間を割くべきである、という鉄則もまた存在する。この場合、掛け算を学ぶ子供が計算機を使わずに相変わらず九九を暗誦させられるように、あるいは毒性を取り除いたワクチンを接種して伝染病に備えるように、ダイジェスト化された車輪の再発明をあえて実行することが深い理解への近道となっている。

で、フレームワークやらライブラリやらの代表的な機能をあえてスクラッチで書いてみたり、それを再利用できる資源に仕上げてみたりという練習をしてみるテキストが広く読まれたりするわけだが、ここでは、本当に「車輪の発明」の過程を追体験してみたい。もちろん、人類の歴史における車輪の発明というのは、おそらく文字の発明より古い時代の出来事なので、その正確な様子など知りようもないのだけれども、別に史実でなくとも車輪の発明を考察してみることはできる。つまりそういうことをしようと思う。


車輪が発明される以前の状況を想像してみる。馬やロバやラクダなどの家畜は、あるいは運搬労働力として利用されていたかもしれないが、重い荷物を運搬する労力として主流だったのは、やはり人力だっただろう。現代日本人として家畜を使った荷物の運搬を正確に想像するのが難しいということもあるので、やはり人力で少しでも効率よく荷物を運ぼうという状況を考えてみることにする。

まず、一番単純な運搬の方法というのは、荷物を手や肩や背中、あるいは頭の上などに乗せて、普通に歩いて運ぶ方法だろう。ただ、これもある程度大きくなってしまうと、人一人の手に負えなくなってしまう。そこで、紐などを結んで、それを複数人で引っ張り、荷物を地面に引きずるという形になるだろう。古代以前では舗装道路などもなかっただろうから、路上の草や土が潤滑剤となってそれなりに荷物は運べただろう。けれども普通に荷物を引きずるのでは、荷物が削れてしまって破損するし、設置面積が大きいので引っ張るにも強い力が必要になる。そこで、第一の工夫が生まれる。

第一段階の工夫は、おそらくソリのようなものだっただろう。平滑で滑りやすい材質の板であったり、あるいは接地面積を減らして摩擦抵抗を減らすように工夫された、シュー(スケートのような細い板)の付いたソリだっただろう。ただし、工夫によって従来の限界が突破されると、次の限界にぶつかるまで利用方法がエスカレートしていくのが自然だから、まもなくソリでも運びきれないような重い荷物の運搬を工夫する状況が生まれただろう。そこで、第二の工夫が生まれる。

そこで出てきた工夫というのは、おそらく、丸太のようなものをソリの下に並べて、コロとして利用するようなものだっただろう。これで摩擦抵抗は転がり抵抗に置き換わり、重い荷物を引きずるときの力は格段に低減されただろう。最初はいびつなコロだったものが、次第にきれいな円柱形に整えられ、その効率が向上していっただろう。しかしこの方法には大きな問題がある。引っ張る力は確かに軽くなるのだが、後ろに残ったコロをソリの前方まで運ぶという作業を、延々と繰り返さなくてはならない。どう考えても、これは引っ張る力を軽減するというメリットを打ち消して余りあるような面倒な作業だったに違いない。ここで、そろそろ車輪を発明する下地が完成する。

コロの上をソリが滑っていくからコロは後ろに吐き出されてしまう。だったら、コロをソリに固定してしまえばいいではないか、ということを誰かが思いついただろう。しかしこれをやってしまうと、せっかく地面との摩擦抵抗を転がり抵抗に置き換えたのに、再び固定化されたコロとソリとの摩擦抵抗に逆戻りしてしまう。とはいえ、そりはシューの全体で接地していたのに対して、固定コロではコロを固定する小さな部分だけの摩擦となるので、その部分を集中的に磨いたり油を塗ったりなどすれば、かなり摩擦抵抗は低減できただろう。

そうはいっても、重い荷物を乗せている以上、摩擦抵抗はかなりの大きさだっただろう。そこで、コロを固定する部分だけコロを細く削り、接触面積をより小さくするとともに、てこの原理で軸部分を回す力を増強することができるようになる。しかしあまり軸を細くしてしまうと、今度は強度的に重い荷物に耐えられなってコロが折れてしまうので、今度は軸部分を細くする代わりにコロの全体を太くしてみる。そうすると、コロを太くすれば太くするほど、そりを引く力が軽くなっていくことに気づいただろう。ころの外径が固定部分に比べて太くなるにしたがって、てこの原理で増幅される回転トルクが大きくなっていくからだ。

ここまでくると、コロがソリの底面にぶつかる面倒を避けるために、ソリの下の部分はもう軸だけになり、ソリの外側にはみ出した部分だけが太い円形になる。最後には、丸太の軸だけをソリに固定して、その軸の両端に大きな円盤を組み立てて取り付けるだけというスタイルに行き着く。その円盤を、後世の私たちは「車輪」と呼んでいる。このようにして、私たちは車輪を再発明した(気分になった)わけである。


もうひとつ、最近面白い再発見をしたのだけれど、それは「煙突はなぜ細長いのか」という疑問の答えを見つけたことだった。以前は漠然と、有害な排気を人間の生活に影響がない程度の高度まで運んでから大気中に放出するのが煙突の目的だと思っていた。ところが、金魚の水槽の水を一部入れ替えるのに、プラスチックポンプ(灯油などを入れる、赤い頭のアレ)で水を捨てていたとき、ポンプのホースの先を水槽の水面より下にして、水の重みで勝手に水を吸い出すようにしているのを見て、煙突もこれと同じことをしているのだと気づいた。知っていればなんと言うこともない常識なのだろうが、気づいてみるとなるほどと思う。

煙突の下では普通何かを燃やして、その熱を利用しているのだけれど、煙突から排出している排気もまだ相当の熱を持っている。そういう排気を細長い煙突に通すと、熱くて軽いガスは煙突の中を勝手に上っていく。それは長ければ長いほど強い力となって、ボイラー部分から燃焼ガスを抜き取るような力となって働き、さらには新鮮な空気をボイラー内に引き込む力ともなる。結局のところ、高い煙突というのは、廃熱を利用してボイラー内を換気する、一種のエンジンとして機能しているのだった。

そのためには、上から冷たい空気が入ってこない程度の細さも必要になるし、軽い排気の上昇力を一定レベルに高めるための長さも必要になる。そういう結果が必然的にあの煙突の形状を要請していたのだった。古い時代の陶器を焼いていた登り窯も似たような仕組みなっていたというし、そういう工夫が積み重なって煙突という発明につながっていったのだろう。


すでに発明済みのものを調べもせずに、なんでもかんでも自分で作り出してみるのは効率が悪いが、調べて見つけた道具を使ってみることだけで満足していると、理解が浅くなる。余裕のあるときでいいので、先人の気持ちになって真剣に再発明に挑んで見るのもいいだろう。

電子機器の接続端子にはなぜ金メッキがしてあるのかというのと、鉱石ラジオはなぜダイオード検波できるのかということには、一定の関連がある。表面の材質や酸化状態の違う導電性端子を接触させると、そこにダイオードが形成されるというのは、実は一般的な性質らしい。そのダイオードを意図的に作り出して検波に利用したのが鉱石ラジオだし、接点の抵抗を下げると同時にダイオードの形成を極力避けようとして、あえて高価な金を利用したのが金メッキ端子ということになる。液晶パネルのような、材料が多彩で信号が微弱な世界になると、"Ohmic contact"の確保というのは意外に慎重さを要求される作業になるらしい。

参考:ショットキー障壁

結果だけを見ると天才の仕業にしか見えないようなものでも、同時代的な流れを見ると、それにしたってやっぱり天才的発明ではあるにしても、いつかは誰かが見つけたのだろうなと思えるようなものが多い。今もいろんな分野で機の熟している知恵があって、天才に発見されるのを待っているのだろう。
[PR]
by antonin | 2011-07-07 13:27 | Trackback | Comments(0)
トラックバックURL : http://antonin.exblog.jp/tb/15901239
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
<< 不肖不精日記 本能の当てどころ >>


フォロー中のブログ
外部リンク
外部リンク
ライフログ
ブログパーツ
Notesを使いこなす
ブログジャンル