よくソフトウェア開発においては、
「◯◯を使えば素人でも簡単に開発できるようになる。」
なんて文句を聞くことがあります。
実際に使ってみると、
10必要だった手順が3~4くらい省略できたりして、
確かに簡単に開発することができるようになっています。
しかし*素人でも*という部分はどうなんでしょうか。
ユーザーに対して必要な前提知識が減るのは素直に喜べるのですが、
開発者に対しては話が別です。
それは病院に最新の機器が入ったからという理由で、
素人でも簡単に診断ができるようになると言っているようなものです。
医者は医師免許のおかげでそんな事態にはならないのですけど、
プログラマーにはそんなものが無いためホイホイ引っかかってしまいます。
そして素人はその◯◯でスパゲティコードを書いてしまい、
やっぱりダメだったということが繰り返されてしまうわけです。
大抵この手の◯◯は、
用途を限定化させるか抽象化レイヤーを1層作ることによって効率化しています。
しかしそれは、
別に開発者の無能さを隠せるわけではありません。
依然として開発者自身の抽象化技法は要求されています。
ただそれに気がつくまでのタイミングが限定化・抽象化によって遅くなったに過ぎません。
だからちゃんとしたソフトウェア会社は面接時にコードを見るのであり、
それはプログラミングの本質が覆らない限り続くのです。
0 件のコメント:
コメントを投稿