プログラマ、テスター、SE、PMなど、いろいろやってるオヤジです。

JavaScriptでクリスマスダンジョンに挑戦せずに観戦

»

 「えっ、たったの21文字? すごい!」

 先日、このサイトで紹介されていた「JavaScriptでクリスマスダンジョンに挑戦」のイベントに挑戦せず、ただ観戦した(^_^;)。

■コードゴルフって?

 このサイトでたまに登場するコードゴルフについて説明しておく。

 与えられた簡単な出力仕様を満たすコードを書く。このときにゴルフのように、最短で出力にたどり着いた人が勝ち。つまり最も短いコードが勝ち。短いと言ってもステップ単位ではない。文字数単位での短さを競う闘いだ。レベルが高い問題だと、配列変数や特定の文字の使用を禁止するなどという制約条件が付加される。

 「こうやれば1文字少なくなる」という工夫を重ねてコードを短くしていく。パズルのようだ。このパズルを考えることはプログラマのスキルアップにつながるに違いない。

■コードゴルフ採用

 このコードゴルフ大会を主催したのはCodeIQ。CodeIQのサイトでは、いろいろなプログラム言語を対象としたコードゴルフ用の問題を出している。締め切り日までに投稿されたコードのうち、文字数が最も少なかった人が勝ちとなる。

 このサイトの中でおもしろいのは、「ウチに来ない」問題。プログラマを募集している会社が問題を作って掲載し、いい解答ができた人をスカウトしてしまうという仕組みだ。採用試験で技術者を評価するのは難しい。情報処理技術者試験とかOracleとかの資格を持っていることは評価の基準にはなるが、資格持ってるけど技術的にはたいしたことない人が多いのも事実。バリバリのプログラマを採用したいのなら、このように問題を解けた人をスカウトするっていう採用活動は効果的だろう。CodeIQのようにNet上で問題を出して回答者を評価するというサイトはいくつかある。今後はこういった採用方法が増えてくるかもしれない。

■頭にはなぜかサンタ帽

 この日の「JavaScriptでクリスマスダンジョンに挑戦」の挑戦者は十数名。見るからにプログラマらしいオタクっぽい感じの若者たちだ。席に着くと、机の上にサンタクロースの帽子が置かれていた。かぶれとも言われていないのに、みんな黙ってすんなりかぶっている。なぜだろう? サンタ帽をかぶっていないのは後ろで見ている私と何人かだけ。かぶっているのが当たり前でかぶってない方がむしろアウェイ感を感じて恥ずかしいぞ(^_^;)。

■短かすぎるコードは理解不能

 競技が始まる前に事前に出題されていたJavaScriptの問題の解説が行われた。例えばこんな問題。

 1から順に整数を数えていき、3で割り切れる時は「Fizz」、5で割り切れる時は「Buzz」、3と5の両方で割り切れる時は「FizzBuzz」と出力します。それ以外の場合は、単純に数値を出力します。

例)1,2,fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fizz, 13, 14, fizzbuzz, 16, ……

 こんな解答が投稿されました、と簡単なものから順に解説が始まる。前半は参加者たちは「うん、うん」と当然のごとく納得して聞いていた。ところが後半になると、上級者のマニアックな解答の解説になった。文字数をより減らすために、どこから出てきたのか分からない数式や数値が登場する。参加者たちも静かになる。頭の中は「?」だらけのようだ。まるで黒魔術のような不思議なコード。解説している講師でさえも、

 「このコードで正しい答えが出ることは確認しましたが、どうやったらこんなやり方を思いつくのかは私にも分かりません(~_~;)」

 ちなみにJavaScriptを使っていないabekkanは、前半からチンプンカンプン(+_+)。

■競技が始まる

 スタートする前に、会場にエナジードリンクRedBullを持ったRedBullガールたちが登場してドリンクを配り始めた。しかし参加者たちはRedBullガールには目を奪われることなく、目の前のPCに集中している。

 当日の問題がWeb上で発表された。レベル1から順に時間内に解けるところまでを解く。

 RedBullガールには目を奪われなかった参加者たちは解き始めた。集中してPCに向かっている。カタカタカタ。私abekkanだったら紙に鉛筆で表や図を書いて考えるだろうが、そんなトロいことをやっている人はいないようだ。コードを書きながら考えているのだろうか。しばらくして一人が手を挙げた。

 「すいませ~ん」 あっ、もう全部解き終わったのか?すごい! と思ったら、

 「今日買ったばかりのスマホの操作ができなくて、問題にアクセスできませ~ん」

 って、まだ問題を見てなかったのかよっ!

 制限時間終了。1問目を解き終わったのは10人。その中にはスマホ初心者君も入っていたのは立派! そして最も短いコードを書いたのは、CodeIQの投稿の常連になっているプログラマ。そのコードはたったの21文字。さすがだ。優勝賞品のプログラミングの書籍が渡された。

 まだまだ参加者が少ないコードゴルフ大会。コードゴルフ人口は少ない。だが、プログラマで本物のゴルフ場の会員権を買って休日にゴルフを楽しめる人はもっと少ないだろう。その点、コードゴルフなら簡単にできる。それにスキルアップにもなる。あなたも一度挑戦してみてはいかがだろうか。

 ちなみに私はゴルフではいい成績を修めていた。本物のゴルフでもコードゴルフでもなく、「みんなのゴルフ」だけどね(笑)。

 abekkanでした。

 「ゴルフ大会観戦 と言ってもコードゴルフ大会」

Comment(0)

コメント

コメントを投稿する