横浜へなちょこプログラミング勉強会 オフラインリアルタイムどう書く が神田に移ってきてやがて半年になります。
場所が住んでいるところから近くに移ったということもあって、ようやくオフラインで参加できるようになりました。
ふりかえってみるとオンラインながら どう書く のコードを書き始めたのが4年前。
気がつくと長いおつきあいになっていました。
ようやくオフラインで参加できるようになって、感じたことを少し。
当日
頭が真っ白になる、あの感じ
制限時間内にコードを書き上げなければならないのに、問題を見た瞬間に一行も書けないんじゃないか、という気がするあの感じ。
学生の頃はよく経験したこの感覚ですが(ォィ)、それが懐かしくもあり新鮮でもあり。
その状態から解法を閃いて書ける! と感じた時のあの安堵感もなんとも言えません。
脇目も振らずコードを書く、あの感じ
仕事で書くコードは、慎重に書くようにしています。何かと早とちりする性格なので、小さく手を進めるようにしています。
そいうのをかなぐり捨てて、閃いた解法をコードに変換する行為に没頭する、あの感じ。
入力データがどのように流れて出力データになるのか見えていて、途中の動作確認もそこそこにコードを書く。コードの最終形態に頭から突っ込む。
…そしてだいたいはテストが通らず焦りながらデバッグする後半になるのですが、それはまた別のお話。
他の参加者のアイディアを知る、書き方を知る
当日参加された方の多くは、書いたコードをネット上に公開してくださっていますが、そこに至った経緯の解説はどうしても少なくなります。また解けたアイディアの解説はあっても、失敗したアイディアや、つまずいたところは、あまり表に出てきません。
当日は、その人が、その場所で、その問題を考えた、生のアイディアを伺う機会がえられます。勘違いだったり、遠回りだったり、明後日の方向を向いていたりすることもありますが、それを思いついた背景を聴ける機会はとても貴重。
加えてコーディングの技法もいろいろと知ることができます。
「join を *"" と書くのはゴルファだけです」 #yhpg
— MATSUMOTO Eiji (@emattsan) 2016年6月4日
後日
深く深く考える
気になる問題に遭遇すると、何日も考える癖があります。二日も三日も考え続けると、ふと新しいアイディアが降りてくる瞬間があります。
そんなアイディアが降りてきたときは、言葉で定義し文章に書き出すことをしています。そうすると一段高いところから問題が見えるようになった気がします。
- ビット演算で解く Tick-Tack-Toe 〜「第一回 オフラインリアルタイムどう書く」より〜 - エンジニアのソフトウェア的愛情
- どう書くE04「ドキドキ登山〜怒りのデスルート」を解いたアイディアの解説 - Qiita
こうすることでコードを書くときの視野が高く遠く広くなってゆく感じがしています。
いつか読むはずっと読まない:ハッカーのたのしみ
すでに何回も紹介していますが。良書です。現在入手は困難なようですが、見つけたらぜひ手にとって読んでみてください。
ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか
- 作者: ジュニア,ヘンリー・S.ウォーレン,Jr.,Henry S. Warren,滝沢徹,玉井浩,鈴木貢,赤池英夫,葛毅,藤波順久
- 出版社/メーカー: エスアイビーアクセス
- 発売日: 2004/09
- メディア: 単行本
- 購入: 35人 クリック: 732回
- この商品を含むブログ (128件) を見る