映画

映画で、テクノロジーと、宇宙と、栽培プラントが一緒になっているというと、「サイレントランニング」が印象深いです。

※外部へのリンク「サイレントランニング」

小さい可愛いロボットが3体出てきます。

改めてWIKIペディアを見て見ましたら、ドローンと言と書いています。

今ドローンと言えば空を飛ぶクァッドコプターを思い浮かべてしまいますが、3体のロボットはドローンと呼ばれたんですね。

そしてその3体には、名前がありました。

ドローン1 デューイ
ドローン2 ヒューイ
ドローン3 ルーイ

※外部へのリンク「デューイ、ヒューイ、ルーイ」

私は当時、オリジナルの名前だと思って映画を見ていましたが、なんと、名前はディズニーの映画に出ていたアヒルの兄弟からのオマージュだったんですね。

※外部へのリンク「デューイ、ヒューイ、ルーイ」

 

こう言うロボットやドローンを制作するお仕事とかって、夢のあるお仕事ですよね。

そして、大切なのが、こう言ったロボットやドローンの仕様というか個性というか、あり方についてきちんと科学的立場から、そして人道的立場から、あるべき論を固めるお仕事。人類愛に基づいて、遠い将来を見据えて子々孫々に幸せをもたらす存在として、どうあるべきなのかを考えぬくお仕事。

技術革新と人類に関する外部リンク

 ※TED 技術革新は人類の課題を解決できるでしょうか?

 ※Wiki テクノロジー史

 ※Wiki テクノロジー

 ※7つの映画の名せりふ

ソフト開発に関する外部リンク

 ※効果的プログラム開発技法

 ※ソフトウェアテスト技法

 

 

 

(つぶやき)

人類は一人ひとり、愛すべき存在であり、利口であり、知的であり、人情があり、お互いにかばい合いもするし、争いもする。

そして人類は、常に勘違いをし、思い込みをし、ミスをし、どこかで失敗を繰り返している。

人類はテクノロジーを手に入れるたびに、悲惨でどうしようもない結末を招いてきましたし、またそれを乗り越えても来ました。だから、もういい加減にお互いを傷つけ合う事を卒業したい。

貝殻や動物の骨で作った針やナイフがやがて、石で作られた矢じりやナイフや斧になり、道具が高性能になり作業効率がアップする。

日々の生活の中で使うなら便利な道具なのに、争いの解決に使うと武器になってしまう。

悲惨な結末のスケールが、道具の性能向上に比例して大きくなっていった。

素材:石ー>青銅器ー>鉄

道具:ナイフー>刀やサーベルー>鉄砲ー>ミサイル・ロケットや飛行機

技術の進歩は人類の生活環境を変化させ続けてきましたし、今後も変化をさせてゆくでしょう。

蒸気機関で、産業革命が起きましたし、大量生産が可能になり大量消費に対応できるようになり、ロコモーションとモータリゼーションによる物流の進歩と進化が世界を変えてゆきました。

そして20世紀に登場したコンピュータが情報革新を引き起こし、コンピュータテクノロジーと通信テクノロジの進歩は、世界に情報革命を引き起こしています。

物流ロジスティクスにおいて、通信とコンピュータを外して考えられなくなっていますし、在庫管理から受発注、製造、原料の買い付けに至る、人類の活動の隅々にまで、この情報革命が浸透して行っています。

今や世界はITでつながっていて、渾然一体とした一つになろうとしています。

地面には、国境があり、社会には国家という枠がありますが、インターネット等の情報通信には国境も国家もありません。

ソフトウェアを開発している人たちも多様な国家を背景に持つ優秀な人たちがやっていることであり、天才を育てるのは容易ではなく、天才が作ったソフトを解析理解するのも容易ではありません。

ITに立脚する社会基盤は、世界中の天才たちの手によるものでしょう。素人が解析することは、ほぼ不可能。

さらにITと言うものは総てを理解しないと作れないという物ではないので、浅い知識でも、あれこれイジルことも可能ですし、当面の課題を解決するのもできます。だから総合的見地から見ると疑問があるような解決のアイデアだったという事もしばしば起きます。「人間とはミスをするものである。」という言葉もあります。がそれ以前に不勉強ゆえに知識不足故に考慮が不足していたという事も多々起きます。

考慮不足・知識不足にその時点で気づいていればまだ良い方です。時に人は自分自身が完璧だと勘違いしますし、自分は今神の領域に到達したと勘違いすることもあるでしょうが、後から発生する事実を突きつけられて初めて、自らの未熟さに気づくことも、しばしばあります。

これは、ソフトウェア開発技法の入門で、初心者に伝えられる事柄です。なぜ初心者に最初にこんな事を学んでもらうのか?と言いますと、それは、ソフトウェア開発技法とは、人間が犯しやすいミスを極限まで回避するにはどういう手法があるだろうか?とか、どういう点に着目すべきかとか、大勢で取り組む巨大プロジェクトで、お互いに意識合わせをしてやっていくにはどういうやり方があるか?とか、を学ぶのですが、個人でプログラムを書くときには、他人と意見を合わす必要がありませんが、大勢でやる場合、変数名一つ関数名一つでさえ、名前つけのルールを作るという事が大事になってきます。そういうめんどくさいことを、おろそかにすると、両端からかけてきた橋が真ん中で数メートルずれるとか、両方から掘り進めてきたトンネルが真ん中で出会えないとか、間抜けなことが発生してしまいます。

間抜けなことが起きましたねと、笑い話で終われれば良いですが、人類の営みに密接に関連するシステムで間抜けなことが起きた場合に、悲惨な結末を招きかねないので注意が必要です。

これは、過去の工業化と公害の出来事にも、その現象を見ることができますし、新たなサービスや風俗と青少年への悪影響とか、世間にはそういう現象がたくさんあります。

「わざとやったのですか?」と言う質問が出るときに、その回答としてどういう回答がなされるかですが、「想定外でした。」とか「考慮不足でした」とかあれこれあるのですが。

なんで、事前に気づいて、直して置かなかったのか?と何時も後悔先に立たずです。

人の心理を見抜いていたら、防げたのだろうか?と言う疑問について、担当者なり関係者の中で、気づいている人がいたら防げた可能性は0じゃなかった。と言えますが、気づいている人がいない場合、人の心を見ていても防げないと言う事になります。

自分自身の間抜けに気づいていない人の心をいくら読んでも、その心の中は青空で一点の曇りもないのです。

初心者プログラマにコードを書いてもらう場合を考えてみます。

画面に「Hellow world !」と書いてくださいと依頼をしたとします。

main (){

printf(“Hellow world !\n”);

}

とか書いてくれたとします。

初心者プログラマさんが、全部をしっているか?について考えてみます。

1.コンパイラー内部を知っているか?

2.マシン語を知っていて読みこなせるか?

3.OSのシステムコールを知っているか?

4.ダイナミックリンクライブラリを知っているか?

5.C言語なりの高級言語を知っていて使いこなせるか?

この疑問の中で、5番目は多分大丈夫だと考えられますが、1〜4までは初心者プログラマさんの場合、全然しらない事はありえます。

つまり初心者プログラマさんの場合、1〜4の事柄について、悪意のコードなり、間抜けな設定なりが入っていたとしても、気づいていない可能性がありますから、初心者プログラマさんの心の中は一点の曇もない快晴でしかないはずです。

じゃ、どのくらいベテランならいいんだろうか?という事になりますが。

バグと呼ばれるプログラムミスが、見つかるという事は、見抜けなかったという事でしょ。プログラムに埋め込まれた悪意のコードを見つける技量と、プログラムミスを見つける技量と。

あるべき論で、どうあるべきなのかを決めて、そのとおりにプログラムが仕上がってきたことを確認する。というただそれだけのことですが、大変なんです。人の心を眺めていたって、ミスを見つけることはできない。

天才に育った人の書いたコードを、精査するのに必要な技量は、もしかするとそのコードを書いた天才以上の技量を求められるのかもしれません。

そして、天才を作るのも困難なのに、その天才を上廻ることを目指すのはさらに困難です。天才がどの国に育つかなんて、育つまでわからないし。

そう、言いながらも、世界中こぞってIT化を推進していて、より複雑に世界中がつながり、密接に関連する構造を作り続けていますし。生活環境はより密接にITに浸っていきますし。

分業・協業・アプライアンス・M&A等、世界中がより一層 渾然一体化し始めていますし。

そう云う事で、雑駁に大雑把にまとめるなら、今後のITやIoTで飯を食っていく人達が、これからの社会の行く末を握っていくのでしょうし、事前に如何に熟慮しあるべき論を考えぬいていくかが鍵になるのでしょう。