ググることでコードが書けるようになるか
■最近のガンプラすげぇ
この前、出来心でガンダムMarkⅡを作った。ガンプラを作るのはかなり久々だ。昔に比べて相当プロポーションが良くなった。ガンダムがリアルタイムで放映されていた頃のガンプラはカクカクしていて、可動範囲もキューピー人形レベルだった。それが最近のガンプラときたら正座までできる。
そして何より技術が凄い。ランナーから切り離すだけで骨組みのパーツがグニョグニョと動くのには驚いた。しかも、パーツの細かさが尋常ではない。普通に組むだけで塗装しなくてもきちんと色分けされている。よくこれだけ細かい物をつくったなぁ。設計した人を尊敬する。
■説明書無しでガンプラを作れるか
私もしょっちゅうガンプラを組み立ててる訳ではない。これだけ細かいと、とても説明書無しでは組み立てられない。ググるだけでコードが書けるようになるか。それは、説明書無しでガンプラが作れるかというのに似ていると思う。
結論から言えば、センスの良い人、慣れてる人ならネットの情報だけで、構造が単純なコードなら書けるようになる。ネットの情報だけでコードが書けるようになると言ってる人に限って、現場できちんと仕事していて、分からない事を明確にして人にやり方を聞いている。ネットだけでコードを書いていない。もしくは、簡単なコードで満足して書ける気になってるだけの人かのどちらかだ。
■ググるだけでは発想は得られない
当たり前だが、ググって出てくるのは情報だけだ。人と話したときのようなリアルタイムのレスポンス、雰囲気は期待できない。トータルで考えると、本を読んで勉強するのと大差は無い。差が出るとすれば、検索をするセンス、ググった後に自分でドキュメントを書くかといったところだろう。
また、ググって出てくる情報は断片的なので、自分で情報を組み立てていったり、推測していかなくてはならない。ここら辺にセンスや労力が問われる。ググってコードを書いているだけでは、メンテナンス性、可読性というところまで発想が行きにくい。また、どういうコードが良いコードか判別する力が付きにくい。
こういう問題は、きちんとコードを書く力のある人に聞くことでほぼクリアできる。コードの可読性が悪ければ「読みにくい」と一言入る。メンテナンス性が悪ければツッコミが入る。自分で考えるより、遙かに効率よく気付きが得られる。だが、あまりいい加減な事をしていると、思わぬダメージを受けることになる。
■グーグル先生とのつきあい方
たまに、ググってコードを書くことが良いか悪いかという議論を見かける。私としては、そんなのはどうでもいいと思っている。人に聞くのが良いかと言えば、一から十まで聞いていたら、ただの教えて君だ。それに、仕事でコードを書くレベルの人なら、ひたすらググりまくってコードを書く時期というのもあると思う。
一番重要なのは、ググる事で楽しくコードが書けるかどうかだ。そりゃ、行き詰まる事が多ければつまらなくなるだろうし、単純なコードで満足したら、ググる以前に飽きてコードを書かなくなるだろう。そんな時の打開策として、人に聞く、ひたすら写経(同じコードを何度も書く)する、人の書いたコードを読むとかを実践すればいい。
ガンプラでも、説明書を見てきちんと組み上がると達成感が得られる。ただ、直感で組み上げていくという楽しみ方もあると思う。重要なのは、そのやり方でモチベーションを維持できて、気付きを得る事ができるかだ。それができないなら、何らかやり方を変える必要がある。コードを書いていくうえで重要なのは、方法云々よりこの二つではないだろうか。