The Dragon Scroll

Be just and fear not.

不便さを味わう。

仕事で、わけわからんちんな、タコなプログラムを読んでいて、思ったこと。


VBJAVAなんていう素敵なプログラム言語が出来て、それに対する教育がなされ、
広まったことで、発生した問題。
それは、誰でもプログラマな状況では?


開発会社さんと、ある機能の実装有無について、やりとりをしたのですが…。


とあるプログラマさん「このプログラム、この機能が実装されていないようですが」
私「えっ?本当?…いや、やっているはずですよ。私、テストしましたもん。」


とあるプログラマさん「やっぱりやっていません。」


やってるっちゅうに!
というか、君んとこで作ったプログラムでしょ。
という訳で、ソースをメールに貼り付けて、英訳のように逐一コメントを付けて
解説してあげると…。


プログラマ「やってますね。」


私「…(自分、ほんまに良くプログラマやってるよなあ!)


C言語や、あるいは先輩諸氏が使っておられたC言語以前の言語等と
それ以降に登場した言語では、大きな隔たりがある。
After Cな言語は、プログラマにとって、より優しい言語と言える。


プログラマを甘やかしてくれるわけです。


私にとって、C言語って、非常にめんどくさい言語です。
めんどくさい元凶は、ポインタ。
やたらデリケートに扱わなくてはいけない、気をつかう機能です。


昔、C言語でやっていた組み込み系のアプリケーションなんて、RDBMSを使えず、
バイナリファイルを直接アクセスする類いのもので、ポインタ大活躍。
そして、メモリ破壊大発生(w


便利な言語の登場のおかげで、ポインタを表面的には理解しなくて済むように
なったため、そこをスルーしてくるプログラマがいる。
しかし、ポインタは、プログラミングという行為の上で重要な概念です。
そこを、理解できない、あるいは、理解せずに来たプログラマは、
酷な言い方かもしれませんが、もう一度、学校へ行くなり、勉強しなおしたりした方が
良いと思っています。


C言語は、間違いなく高級言語なんでしょうけど、After Cな言語に比べると、
やはり低レベル層を意識しなくてはいけない。


逆に、それで、プログラミングは鍛えられたように思います。
地道にやることで、プログラムへの猜疑心を持ち(どこかに初期化忘れはないかな)
不便さを味わうことで、いかに楽するかを考える(ソート関数も自分で実装しなきゃ)。


プログラマになりたての方は、是非、不便さも味わって欲しい。
そういう地道で、不便な行為を経て、初めて得るものがある。


…私は、もう遠慮するけど。