有能なプログラマ? 退屈な仕事をプログラムでやっつけるようなプログラマ・ハッカー

専門外ですが、たぶん次の二つだと思うんで・・・

一つ目は、紙と鉛筆、ホワイトボードとマジック

  • フジワラヒロタツの現場検証にありました*1、「はじめは紙と鉛筆」って・・・
  • 設計は、紙と鉛筆でできる。

2つ目は、ツールそれ自体への知識

  • たぶん自動化ツールに対しての知識が多い、もしくは検索が早い。そのあとコードを書くっていってもある程度サンプルとかが普通はあるので、サクサクとつくれると思うんだよね。
  • ツールにはこだわらないけれど、使っているものに対しては、どれも深い知識がある。公開されている情報が多いものを好む。結果として、GNUとかOpenSourceSoftware系が多くなっている。「フリーソフトかどうか」は問題じゃないとおもう。

一流のプログラマハッカーじゃない僕でも、つまらない仕事を自動化したことがありました

Case1

大量の設定ファイル・HTMLの断片を書いたことがありました。少しずつ内容が異なっていたけれど、たくさんつくらなければなりませんでした。ある程度覚えてきたら、チョロっと書いたperlbash をもとに自動生成したことがありました。

動機は、やっぱり、めんどくさいからです。ある程度手作業でやってみたけれど、設定ファイル・決まった内容を書くHTMLなら、規則にしたがってファイルにテキストの内容を書き込むだけです。同じ内容なら楽なほうが良いです。


Case2

先日、電子天秤から、直接EXCELにとりこむっていうのを少し書いてみたけれど。意外と周りの人とお茶飲みながら、4・5時間で、できました・・・ソフトウェアの品質はどうアレ、目的*2を達成することができた*3
これは、電子天秤がシリアル*4接続できて、データが転送できるということを知っていること、EXCELVBVBAでシリアルからデータをとりこみできるっていうことを知らないと、発想できないと思います。僕はタマタマそういうことできるということを知ったので、やってみた。わけです。


最後に、

僕は、師匠*5に、できることはすべてコマンド・スクリプトでつくる練習をしなさいって言われました。師匠は、天体物理が専門だったので昔からコンピュータを使っていました。研究の片手間にメンテナンス・管理をしなければならなかったので、自動化の知識が必要だったのだと思います。


必要は、発明*6の母ですね。 要求は、ソフトウェア開発の母です。イミフ

*7

一度自動化スクリプトを作ってみると、どれならできるとか、やったことがあるという自信がついてまた自動化できるようになるんだと思いますよ。

とかいって、生態が専門のはずの院生が適当にいってみた・・・無保証

*1:第何回目だか忘れた

*2:いちいち、計ったものを紙に書き、入力するという手間を省くこと

*3:もっと早く作っておけば、卒論生は楽ができただろうにね、ごめんよ。

*4:RS232C

*5:先生

*6:ハードウェア

*7:ん?どちらも英語にしたらrequirements?