« DoCoMo 2.0の真実 | メイン | 私は「自ら進んで学生に声を掛けること」を絶対にしない »

コンピュータは無能 [ 教育 ]

どこでそういう教育を受けてくるのか,知識を身につけてくるのか分からない.
でも,新入生諸君はこのように考えている.

「コンピュータは万能」
「コンピュータは人間ができないことでもやってのける」

完全な間違いだし,思いこみだし,買い被りすぎだし.
コンピュータを作ったのは人間だし,コンピュータは神ではないのだから,
人間以上でもなければ,万能でもない.

コンピュータは自由意志を持っていないし,感情も持ち合わせていない.
自分で何かを考えて,決断し,実行することはない.
「そんなことはない!勝手にメールチェックするじゃないか!」
そういう反論が来そうな気がする.
その背景を考えたことがないのだろう.幸せだ.
コンピュータ(またはOSもしくはメールソフト)が独断で行った行動ではない.
誰かがそう仕組んだのだ.
その誰かとは誰か.
コンピュータでも神でも何でもない,そのソフトウェアの設計者(作成者)である.

「コンピュータは人間よりも高速に誤り無く計算することができる」
という話は色々な場所で聞いたことがあるだろう.
これは間違っていないのだが,前提が欠如している.
「コンピュータは指示されたことについて人間が行うよりも高速に誤り無く計算することができる」
「指示された」というのはそのようにプログラムが組まれているということ.
コンピュータに対し「こういう動きをしなさい」とコンピュータが理解できる言葉で指示したのだ.
そして,「人間が行うよりも高速」というのは,アルゴリズムの問題.割愛.
「誤り無く」は指示されたことについては誤り無く行う.
ハードウェアやソフトウェアの問題があるかもしれないが,通常は間違えない.
もしも,期待した動作と異なる動作をしたのならば,それはプログラムが間違っている.
コンピュータは常に指示されたことしかこなさない.使えないヤツだ.

プログラムで指示すれば,コンピュータはその通り動くんだ.
ならば「6億円が当たるtotoBIGを買ってこい」という指示は有効だろうか?
いや,有効ではない(反語).
何故ならば,そのような指示が出せないからだ.

プログラムへの指示は命令と呼ばれる.
コンピュータ(MPU)には命令セットというものが存在しており,それ以上のことは一切できない.
C言語においても標準ライブラリで準備されている関数の組み合わせでできないことはできない.
(インラインアセンブラなんてものは秘密)
コンピュータにはできることとできないことがある.
いや,できないことの方が圧倒的に多いんだけどね.

だから「万能」でもなれけば,「人間できないこと」はできない.
単純に「人間でもできるんだけど,単純作業過ぎて苦痛で苦痛で仕方がない」ようなことを
文句も言わず(空冷ファンが唸りを上げるかもしれないが)黙々と実行するのがコンピュータだ.
だがしかし,その「単純すぎて苦痛な仕事」をプログラムに書き起こすのは人間だ.
そして,書き起こすことさえできれば,コンピュータはそれを実行してくれる.
コンピュータとは,なんとわがままで傲慢なヤツなんだ!
自分では何もできないくせに!


プ実における我々の本当の使命は,
「コンピュータが如何に無能であるかを理解させること」
なのかもしれない.