アルゴリズム
アルゴリズム考えるだけで手を動かさない時間というのは確実に人生の内でも最も無駄な時間の一つじゃなかろうか、と。
ただの妄想タイムとどう違うのか説明を求めたいね。
実際知り合いの作業が酷く遅い人種に多い種類のエンジニアなんですけども、頭の中でアルゴリズム完成させてから手を動かしてるんだろうなーって、人。
わりと本気で、なんなの? って思う。
私自身、アルゴリズムを考えないこともないんですけどね。
ただ考える段階で何をしてるかって、だいたい煙草吸ってるんですよね。
単にアルゴリズム考えるだけならそういう気を抜いた時にすればよくて、コーディングに適した環境があるならまず指動かそうぜと思う。
環境があるってことは補完かリファレンスがあるってことで、それならアルゴリズムじゃ考慮すらしてない想定外のパラメータの存在なんかも見つけられるんですよね、と。
一つの機能作る時、私がよくするのはまずWrapperメソッドを数個作って考え付く限りパフォーマンス高いだろう別のアルゴリズムで書き綴って、ユニットテストついでに速度計測します。
それで一番早いのを採用してそれまでに書いたのを全て削除する。
とは言っても実際こういう、見方を変えれば無駄なことをしてるプログラマってあんまりいないんですけど、かといってその分効率的に仕事してるかって言われると全然と答えざるを得ないんですよね。
画面じーっと見たり、いつ見てもブラウジング(ってかネットサーフィン)してたりする人の方が多い。
そしてそういう人ほど作業が遅いし品質も低い。
はっきり言っていくらアルゴリズム考えたところでそれが経験値として反映されてない、としか言いようがない人ってのが多すぎる。
実のところ作業環境があるならアルゴリズムを新しく考えることなんてありえませんからね。
指動かせばとりあえずの技術検証と脳内の整理は終わるでしょう、と。
あ、これは小説的な意味ではなくプログラム的な意味で、ですが。
小説は書けば書くほど改善案が湧き出て止まらなくなる。
そういう意味ではプログラムの経験値は積めてても小説の経験値効率はあんまりよくないんだろうなとかいう自虐。
って、そんなことはどうでもいいか。
とりあえず話を戻すふりをしつついろいろと愚痴るとするなら、引くわーって思うような作業速度してる人もだいたいいつ見てもブラウジングしてたり誰か他の作業者と駄弁ってたりする。
いろいろ理不尽だなー、と、思わなくもない。




