著作一覧 |
品川でRuby25周年パーティ。
Javaはうんことか、おれってすげー感のkitajさんとあいさつしたり、Rubyできめると気持ち良いの松田さんの講演を聞いたりして、考えた。
今は、仕事でC#とJavaScriptとCoffee(注)とRubyを使ってプログラムをしているのだが、JavaScript以外はどれもそれなりに気分良い。気分良いが、確かにRubyのほうが何か良い感触がある。
それが、おそらくkitajさんや松田さんの発言に通じるのではなかろうか。
注)ES6という意見はさんざん食らっているがというか今日も食らったが、
1)Railsが作る(おれは松田さんではないので、gemがインストールするRailsがRailsだ)assets/javascriptsの下のファイルがCoffeeなので拡張子変えるのは面倒なのでCoffee一択。
2)ES6ったってBabelがいるんでしょ? どっちにしたってトランスクリプトじゃん。だったら黙っていてもトランスパイラが自動で走るCoffeeのほうが100倍ましだ。というか3年後のこた知らね(どうせUI回り言語なんだから必要なら書き直す。というか同じUIがもつはずないじゃん)
というわけで基本はCoffeeだ。
で、打鍵数に由来する集中力の維持時間が関係するのではないかと考えた。
書き始めれば相当深く潜るのだが、当然、ある程度きりが良いところになれば、海上に上がってきて呼吸をするのだが、その期間が微妙に適切なように感じる。だいたい、20分から30分というところで、意識していないのだが、ポモドーロっぽい単位に思える。
Coffeeはもっと早いし(きりはわりと悪い)、C#は2時間くらい潜っていることがある(Emacsよりも微妙にVS2007のほうがレスポンスが鈍いという点もありそうだ)。
おそらく時間的および打鍵数的にきりが良いコード単位(クラス、メソッドとか)、調べなければならないメソッド引数とかを含めて、こちらの設計粒度と、ライブラリが提供するメソッドの粒度のバランスが良いように感じる(というか、感じでしかないことを書いているのだ)。
打鍵数(または応答速度)からはRubyのC由来のメソッド名は相当適切に思える。C#は長すぎる(補完速度を含めてもタイムラグがある)。これがJavaだとNetBeansもAndroidStudioも、ましてやEclipseは遅すぎて話にならないから、それが不快感になるのだろう(記憶している限りはEmacsでそれなりの速度で打ち込めるからそれほど不快ではないのだが、いかんせん長すぎるものが多いし、あと意味ないtry/catchの記述の必要性が今度は出てくるので、それが辛いのだな)。
まあ、速度の問題だから、人それぞれではある。
アジャイルな時間管理術 ポモドーロテクニック入門(Staffan Noeteberg)
(これ、実に良い本だなぁ。影響受けまくっていると言わざるを得ない)
ジェズイットを見習え |