なぜコードを書き直したくなるのか(メカAG)

なぜコードを書き直したくなるのか(メカAG)

今回はメカAGさんのブログからご寄稿いただきました。

なぜコードを書き直したくなるのか(メカAG)

「王様達のヴァイキング」現在新章が徐々に盛り上がりつつある。以前は是枝の引き立て役だった無能を絵に描いたような警視庁サイバー課。一応若手やり手もいるらしく、そいつと神崎刑事の絡みが面白い。

国内のSNSをビッグデータ解析して、犯行に使われた場所や手段に関係ありそうな発言をしている人物をあぶり出す。サイバー課もやるじゃん(フィクションの中ではw)。コードのハッキングがメインの是枝とは上手く住み分け&協力できるかもね。ツンデレらしくいまは敵対心むき出しだけど。

犯人の候補が、今度は誘拐事件に関する映画をいろいろみていたころから、次の事件は誘拐事件かもしれないと推理する。「SNSは隠れた自意識を露呈させる。時に尋問よりも役に立つ」。なかなか語るね。

いままでコンピュータを題材にしたフィクションって、消化不良が多かったんだよね。なんというか書き手が現実(のコンピュータの世界)についていくのが精一杯で、現実の先を行くというのはとても無理みたいな。いよいよ現実を消化したフィクションが現れ始めたってことですかね。そういえばこの前の「デモクラティア」も匿名のはずの発言が、発言内のキーワードの類似性から身元がバレて、本名を晒されるという展開だったし

   *   *   *

話は変わって、コンビニATM事件で、見るに耐えないATMのソースコードを前に、思わず是枝がいきなり修正しだす(当然つまみ出される)。

ホントなんで修正したくなるのかね~。別にそれで金をもらえるわけでもないのに。俺なんかしょうがないからソースをコピーして手元のソースをせっせと修正してた。永久にチェックインされないソース。

ソースを解析しなければならない時、自分好みにインデントとか直しながら読むと非常に効率が上がる。あとエラー処理とかとりあえずメインの処理と関係ない部分を削除して、全体の流れを置いやすくしたり。

   *   *   *

つまり理解するための修正。プログラムの構造というのは、ソースコード上では文字列だけど、プログラマの頭の中では、ヴィジュアルな図になってると思うんだよね。概念が楕円とか長方形で表されていて、線とか矢印があちこちに引き回されている。

頭の中だから自由自在にズームできるし、どんな角度からも見れる。紙に書くと2次元でしか見れないけど、頭の中なら3次元、4次元、5次元もっと10次元とかも可能。

プログラマはコードを読みながら自分の頭の中にそういう図を構築していくわけだけど、この作業がなんというか…人それぞれ独特なスタイルがあるように思う。空中を指さしながら、あれはこうで、ここはこうだから、と呟きながらとか、貧乏揺すりしながらとか。もちろん実際に紙に図を書いたりしながらというのもある。

   *   *   *

図を書いたりコードを整理したりするのって、その方が理解しやすいからかと思ってたのだけど、もしかしたら何かしら手(というか体)を動かすことに意味があるのかもしれない。つまり何か物理的なことをやってることが大事で、コードの修正のためにキーボードを叩いてたり、ノートに図を書いているのは、実はあまり関係ない。

それを支持する要素として、図を書いてるとだんだん簡略されてくんだよね。最初の頃はモジュールの名前とかを書き留めてたけど、ただの丸になってしまい、最終的には真っ白なノートに向かって「ここにこれがあるから…」とか。実際にはかかれてなくても自分の頭の中ではそこに図がある(笑)。

人間は抽象的な思考をする時に、物理的な物を動かす処理を転用しているというのが俺の持論。「これをあれと入れ替えて」とか、「この問題は棚上げして」というのは、比喩ではなくて能の中で物理的な物の移動と同じルーチンを使っている。

   *   *   *

だから頭の中で抽象的な思考をしている時、手や指や他の体の部分をある程度動かしたほうが、思考しやすいのかもしれない。というか体を動かしながらの方が明らかに思考しやすい。まあ本当に思考の奥深くに潜るような場合は別だけど。

よく思考に煮詰まると席を立って部屋の中を歩きまわるとか、近所を散歩するといいアイディアがひらめくというのも、そんな理由かもしれない。普通は気分転換のためと言われてるけどね。

散歩も本当に気分転換して別なことを考える散歩もあれば、歩きながら結局プログラムのことを考えている場合もあるわけで、後者は気分転換になってない気がする。むしろ体を動かすことに意味があるのかも。

   *   *   *

みんな思考が煮詰まった時に、アイディアを出す自分なりのスタイルを持っていると思う。そのスタイルがなにに起因しているのか?を考えてみるといいかも。実際に高い棚の上に荷物を持ち上げる行動やそれに関連する行動が問題を「棚上げする」思考の呼び水になってるとか、散歩が自分の記憶バンクの中を歩きまわる行為につながっているとか、ないだろうか。

執筆: この記事はメカAGさんのブログからご寄稿いただきました。

寄稿いただいた記事は2014年08月29日時点のものです。

  1. HOME
  2. デジタル・IT
  3. なぜコードを書き直したくなるのか(メカAG)

寄稿

ガジェット通信はデジタルガジェット情報・ライフスタイル提案等を提供するウェブ媒体です。シリアスさを排除し、ジョークを交えながら肩の力を抜いて楽しんでいただけるやわらかニュースサイトを目指しています。 こちらのアカウントから記事の寄稿依頼をさせていただいております。

TwitterID: getnews_kiko

  • ガジェット通信編集部への情報提供はこちら
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。