計算複雑性理論を知らないやつが何をやらかすか教えてやろう。 ある業務用Webシステムは検索結果の表示件数を5/10/20件から選べるようになっててて,URLのパラメーターで「?n=20」とかやって送ってた。メニューからは三つの値しか選べないが手で書き換えれば100とか200とか選べる穴が空いてた。 で,よりによってメモリ使用量がO(n^2)になるコードを書いていやがった。n=500でOutOfMemoryError。リモートから面白いようにサービスを落とせた。 CSを知ってるやつなら,コードを書いた瞬間から「これnの上限チェック入れないとまずいな」とわかるんだよ。というか,普通にこのコードはまずいと考えてアルゴリズムをなおして,O(1)でDBレコード全件持ってきても落ちないコードにできてたはず。

この疑問はもう俺の中で何十年もくすぶっているんだが、未だにその答えは見つかっていない。 そもそも俺はコンピュータサイエンスというものをよくわかっていないというのもあるんだが、プログラマーをやっていてコンピュータ・サイエンスの素養がなくて困ったことがない。 学生が言うところのコンピュータ・サイエンスが社会に出て何の役に立つんだよっていう話がしたいんじゃない。 ここに吐き出しつつ自分なりに問題を噛み砕いてみたい。 フラフラ思いつくままに書いているから頭悪い文章になることだけは先に宣言しておく。仕事をしているうえでなんで困らないのかまずコレが最も重要なポイントだと思うんだが、仕事でプログラム書いていて、コンピュータ・サイエンスの素養がなくて困ったことがない、例えばコンピュータ・サイエンスのボキャブラリがないと会話すらままならないなんて言うことは起きたことがない。 更に言うならば要件定義をコード
![[追記]プログラマーにコンピュータ・サイエンスは必要なんだろうか](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2fb1638cdb5807a4788e4ba3c1109a984166e095fc%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fanond.hatelabo.jp%252Fimages%252Fog-image-1500.gif&f=jpg&w=240)
10月11日、情報処理学会の50周年記念として、女流棋士がコンピューターとガチンコで勝負するというイベントが行われました。 コンピューターとの対局に臨んだのは、清水市代女流王将。2010年10月現在で獲得タイトル数は女流歴代一位の43期。押しも押されぬトップクラスの女流棋士です。対するコンピューターは情報処理学会による「トッププロ棋士に勝つ将棋プロジェクト」特製システム「あから2010」(以下「あから」)。「あから」とは10の224乗の数を示す数「阿伽羅」であり、将棋の局面の数がこの数に近いことに因んで命名されたそうです。本記事ではこの歴史的な対局の模様をレポートしたいと思います。(取材/文・罪山罰太郎) 対局の会場となったのは、東京大学本郷キャンパス。将棋ファンのみならず、人工知能の研究をしている方など、多くの人が詰めかけ、熱気ムンムンです。 それにしてもオッサン率が高……いや、なんでも
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く