無料ブログはココログ

« 2008年3月 | トップページ | 2008年5月 »

習熟ではなく熟練

先日書いたねじ止めの話

最近は売れる本しか出版されないのもこのような状況も後押ししているかもしれません。「ここを見て勉強しろ!」と言えるWeb ページがあれば良いのかもしれませんが、もっと本質的なところで何か忘れているような気がしてなりません。

と書いていましたが、「すべてのプログラマに効く 危険なプログラムの処法箋」なる本を見つけました。確かにそんなところもあるので、こんな感じで勉強をすれば良いかなと思わなくはないですが、やっぱり知識だけではだめですよね。

ねじ止めの例で言うと、仮止めをして対角線に止めればそれだけでよいかといえば、やっぱり違いますよね。加工のズレを補正するのが目的ですから、ズレを確認して、ズレが少なくなるように工夫して止めなければ意味がありません。

単に作業をこなすだけでなく、本質的な事柄を理解して工夫することが重要ではないでしょうか。ハンフリーさんの本を初めて読んだときも「訓練、訓練、訓練」などと出てきて、なにか違うと感じていました。

それは、エンジニアに大切なことは、習熟することではなく、熟練することだと思うからです。エキサイトの大辞林 第二版 (三省堂)によると

習熟:習い覚えて、よく通じていること。
熟練:十分に経験を積んで、上手なこと。高度な技能と経験を有すること。また、そのさま。
と書かれています。もちろん、訓練には熟練するための訓練もあるかとは思いますが、単純な訓練ではなく、工夫する経験を通して熟練することがエンジニアには必要だと思います。

ソフトウェア開発は基本的に一品ものです。その開発には、原理を正しく理解して、応用できることが必要です。時にはすり合わせという工夫も必要です。単純に効率だけを重視していると、いつか痛い目にあうと思うのは私だけでしょうか。

補足:CMM(I)というかSEIの考えでは、教育とかPeople CMMをうまく生かしていくことになるのだと思いますが、品質や生産性で力尽きてうまくいっていないところが多いのではないでしょうか?

QuickProxyでFirefoxのプロキシを簡単切り替え

Windows vistaにしてからfoxyproxyが使えなくなり、ようやく最新版が出たと思ったらエラーが続出!無効にすることもできなくなり、Firefoxを再インストールしました(もしかするとプロセスを切れば良かったのかもしれません)。

そこで、新しいアドオンを探したところ、QuickProxyを見つけました。ステータスバーのアイコンをクリックするだけで、プロキシのON/OFFを切り替えることができるというシンプルなアドオンです。

foxyproxyのようにタブごとにプロキシーのON/OFFを自動に切り替えることはできませんが、切り替えたいプロキシサーバーが一つしかない私には、これで十分なようです。

ねじ止めの基本からソフトウェア開発を考える

最近引っ越しをした関係で、家具を少し買い換えました。

通信販売でしたが、組み立てもお願いしていたので様子を見ていると、、、、
ほとんど何も考えていません。説明書を見て、電動ドリルで端から止めるだけです。
もちろん、傷がつかないように毛布をひいたり、丁寧に扱ったりはしているのですが、

  1. 仮止めする
  2. 対角線にとめていく

という歪みを取りながら組み立てる手順がありません。電動ドライバーが空回りするまで一気にねじ止めするだけです。元々のつくりのせいもあるのでしょう が、出来上がったものも、あっちがずれたり、こっちがずれたり、やっぱりそれなりです。通販の組み立ては運送屋さんがやっているので、まあ、仕方ないかと も思っていました。

しかし、家具やさんで買った商品の組み立ても同じでした。床に傷がつかないようにフェルトを貼ってくれただけで、基本的に端から一気にねじ止めするだけで す。それを見てて、怒りを感じるよりもなぜか悲しくなりました。世の中全体が、基本的なことを忘れてしまい、効率ばかりを考えているような気がしたからで す。

ソフトウェア開発を考えても、同じように効率重視がまかり通っていないでしょか?

私がソフトウェア業界に入ったころは、「安全側に倒す」プログラミングを教えられたものでした。たとえば、if文を書く際にも判定条件をどう描くかによっ て予想外の結果が生まれます。ループの終了条件をある値なら終了と記述していれば計算誤差によって無限ループになる可能性もあります。そこで、ある値未満 (あるいは以下)の間繰り返すように書くことで問題が起きにくくなるのです。このほかにも、コーディングスタイルを統一するとか、処理時間やデッドロック を考慮するとかなど、色々な基本技術がありました。

いろいろな会社の人の話を聞いていると、最近は開発環境が整っているので、新人でも得意なフレームワークなら何万行も書けたりするようです。しかし、本当に大丈夫なのか、プロジェクト全体で品質は保てているのか、他人事ながら心配をしてしまいます。

考えてみると、覚えないといけないことが多すぎるのかもしれません。結局、「教育の問題」などと言われて、ついつい目標に*だけ*向かってコードが書かれ ているのが現状でしょうね。最近は売れる本しか出版されないのもこのような状況も後押ししているかもしれません。「ここを見て勉強しろ!」と言えるWeb ページがあれば良いのかもしれませんが、もっと本質的なところで何か忘れているような気がしてなりません。

S11HTに感動!

EMONSTERことS11HT買いました。W-ZERO3[ES]と比べると、

とにかく早いです。昔、フロッピーからハードディスク、300bpsから1200bpsのアナログモデム、28.8kbpsアナログモデムからADSLに移行した時のようなショックを受けました。また、WMWifiRouterを使って二人で回線を使っても十分使えます。

Usb2 音が良い。付属のイヤホンでも音が良いのがわかりますが、オーディオUSBアダプタ II(USBも使えるのでちょっと大きい)を使うと、結構まともな、いや高音が出ない[es]に比べると感動的な(ただし、ちょっとこもっている)音質で聞くことができます。

マイナス点は、動画が少し苦手なようで、物によってはカクカクします。

ひとまずそんなところですが、まともなインターネット環境を(サービスエリアなら)どこででも実現でき、良い音で音楽再生できるということで、ひとまず買ってよかったと思っています。

« 2008年3月 | トップページ | 2008年5月 »