« ΔΣ型D-Aコンバータを作ってみる(その2) | トップページ | ΔΣ型D-Aコンバータを作ってみる(その2.5) »

2008年7月31日 (木曜日)

「ShortCoding」をナナメ読み

最近、FRボード関連ばっかで書籍関連のエントリが全然ありませんが、何かしらは読んでおります。今回はOzyさん著の「ショートコーディング」を図書館で借りてナナメ読みしていたのでその感想を。最後は脱線するんでご了承くださいw

私自身、ショートコーディングは本格的に触れた事は無いんですが、初めてのプログラミング環境(これについては前も語った事があるかもですが・・・)がRAM1600bytesの世界でして、しかもプログラム(言語はBASIC)保存用のRAMディスクを確保するとMax800bytesしか使えなかったりするのでした。

そんな中、BASICの省略命令(PRINTがP.で良かったりする)がそのまま省略した形で保存される事を利用して「いかにして800bytes内に納めるか?」というチャレンジはした事があったりしまして、これもある意味ショートコーディングかもしれません。

その他には、大学時代に読んでいたポケコン専門誌「ポケコンジャーナル」の「1Lineプログラム」(ポケコンのBASICはたいてい1行に複数の命令が書け、しかも1行のMax文字数が決まっていた。その1行の中でどれだけナイスなプログラムを実現できるか?というコーナーがあった)は毎回感銘を受けながら、たまに解析をしたりしていたので、そういう意味ではさながら、ショートコーディングの傍観者的立ち位置といったところでしょうか?

と、書いたものの、ショートコーディングの内容自体はナナメ読み程度なので詳しくは本書を読んでもらうとして、本書の第5章が意外と心に沁みました。内容はほぼそのままの形でOzyさんのブログで読めますのでリンクを貼っておきます。

この内容の中で特に、「役に立たないことをやろう」は非常に大事だと思っています。特に初級レベルのプログラミングスキルは「役に立たないこと」の積み重ねの賜物だと思っているからです。私自身、今頻繁にエントリを書いている「組み込み分野」のプログラミングの初心者ですが、結構な時間を「役に立たない」事に費やしていたりします。

すでに熟練の方から見れば「なんて無駄な時間を・・・」と受け取られると思うのですが、これは必要な時間だと思っていますし、こういった事を積み重ねないと「商用レベルのコード」はおいそれと書けないかなと思っています。

まぁ、そんな事を思うのも、ついこの間まで業務で行っていた新人研修でも同じ事が言えたのかな?と考えたからです。入社前に入門用の教材を配布し、事前研修でも「とにかく沢山プログラムを作ってください。できれば課題でしょうがなく作るものではなく、自分の意思や他人からの依頼のあったものが良いです」と話をし、その中で「役に立たない」時間を過ごしてもらおうと思っていたのですが、その様な時間をこちらの想定レベルで過ごせた方がどれほどいたんだろう?と言う疑問が残りました。

と言うのは、研修でも一応、「役に立たない」時間を過ごす事ために、課題をこなす時間はある程度余裕を見ているのですが、それらを大幅にオーバーする事態が相次いだと言う事実からです。本来完全に完成するまでやり遂げて欲しいところを、会社の限られた資源を使った研修では対応に限度があり、無理やり途中で打ち切らざるを得ないのもまた事実でした。

某所であった「10年は泥の様に働け」というのと主旨は異なりますが、こういった「一見無駄だけど必要な時間」を学生時代にかけてこなかった人にとってはこの業界の現場はまさに「10年泥の様に働く」ようなイメージに映るかもしれません。多分、それくらいのスタンスで仕事に取り組まないと普通のレベルの仕事すらできないんじゃないかな?なんても思ったりします。そういう意味でこの発言は的を射ているように思います。

そんな感じでここ昨今に色々得た内容を踏まえ、来年度の研修のアイディアを練る今日この頃です。

|

« ΔΣ型D-Aコンバータを作ってみる(その2) | トップページ | ΔΣ型D-Aコンバータを作ってみる(その2.5) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2790/41828334

この記事へのトラックバック一覧です: 「ShortCoding」をナナメ読み:

« ΔΣ型D-Aコンバータを作ってみる(その2) | トップページ | ΔΣ型D-Aコンバータを作ってみる(その2.5) »