Gamasutraにゲーム開発者らが出荷に間に合うように仕込んだ「やっつけ技」を集めた記事が掲載されている。一部軽く抜粋してみると次のような感じだ。「確かプロジェクトの期限ギリギリの頃の話だったと思うのだが、あるレベルに隠さないといけないオブジェクトがあったのを見つけた。レベルを再びエクスポートするのは避けたかったし、チェックサムを使うのも避けたかった。そこでエンジンに次のようなコードを仕込んで出荷することとなった。
8月10日、コンピュータ囲碁プログラムZenがプロ囲碁棋士の王メイエン九段と対戦し、19路盤で七子、9路盤でのコミ2.5/3.5目という大きなハンデが与えられていたものの、9路盤で見事に一勝をあげた。棋譜はネット囲碁対局サーバKGSで公開されている。 Zen は今年5月に行われたコンピュータオリンピアードで優勝した囲碁プログラムで、プログラマのyamato氏によって開発された。KGSにおいて2dのレーティング(碁会所で3~4段レベル)を得たこともある。 囲碁は手が広いことからチェスや将棋のような力ずくの探索ができず、つい最近まで最も強いプログラムでもアマチュア初段レベルだった。しかし棋力は確実に上がってきており、将棋と同じようにトップクラスの人間以外は勝つことができない時代に入りつつあるようだ。 マイコミジャーナルに王九段のコメント付きのレポートが掲載されているが、対戦は19路盤1回、9路
新人教育にて講師をやる事になりました。そこで新人に与える課題を考えているのですが、何か良い課題はないでしょうか? 講義は課題プログラムを与えてプログラミング、後でプログラムのアルゴリズムの説明を各人に行わせる。という形なので、各自が異なるアルゴリズムになってくれるのが理想です(閏年を求める等、パターンがある物はパス)。 このアルゴリズムにプログラミングテクニックの小技(f = -f)とかがでてくると面白いかなぁ。とか考えています。この手の課題で悩んでいる方、アドバイスをお願いします。
もうやらなくていい昔のコーディングテクニックあれこれという話題がありました。過去は過去として振り返るのは有効ですが、それを踏まえた上で、将来しなくても良くなるコーディングテクニック、というのは何でしょうか ? IDE や言語環境の改善により、人間が無駄なことをしなくて済む環境は整いつつあるも、まだまだ改善しなければならない部分は多い。そんな環境改善に伴い、今は行っているけど将来的には意味が乏しくなるコーディングテクニックというのを語り合うのも面白いのではなかろうか ? 日頃の不満点、こうなったらいいな、など色々思いはあるでしょうが、コーディングテクニック関連の雑談ということでは丁度良い機会でもあることだし、忌憚無い意見をお聞かせ下さい。
Jeff Atwoodは、「インターネットがあれば、いかなる国に住んでいても、またいかなる言葉を話していようとも、ネイティブな言語で利用できる知識を蓄積して増やしていくことは可能であり、また可能であるべきなのだが、一方プログラマー達にとってはこのルールは異なる」で始まる、興味深いポストをしている。 「あまりにも重要なことなので、思いもしなかったことを質問する。すべての開発者が英語を理解する必要はあるのか?ということだ。偉いハッカー達は揃いも揃って、技術的な議論を英語で通すことは、実りある議論を容易にするだけのものと認識している。言語ではなく、コード実力主義なのである。そして、誰も(ともかくも少なくとも、賢い人は)プログラム言語をローカライズしない」と、Atwoodは主張している。 Eric Raymondはエッセイ「ハッカーになる方法」の中で、真のハッカーは実用的英語を要求されると言ってお
最近、他人が書いたソースコードを触る機会が多いのですが、気になるのがコンパイル時に発生する「ワーニング (警告) 」メッセージ。タレコミ子はプログラミング (C 言語) を習ったとき、「ワーニングはなるべく発生させないように」と教えられたのですが、ワーニングが出てもコンパイルは成功するし、多くの場合は意図したとおり動作するので、ワーニングを無視する人も多いようです。 個人的にはメッセージがうざいし、重要なエラーがワーニングに紛れて見にくくなってしまうので嫌なのですが、世の中的にはワーニングは無視してもよいものなのでしょうか ? まぁ、コンパイルオプションで抑制すればいいじゃん、という話ではあるのですが……。
1月13日にバージョン2.2が公開された、オープンソースの.NET互換環境であるMonoですが、@ITのOSS実装「Mono」で広がる.NETの応用 iPhoneでC#アプリが審査に通るワケという記事によると、OSSであるMonoがプロジェクトとして公開しているWindows、MacOSX、Linux、Solaris向け以外にiPhone、Android、Xbox 360などにも広がりつつあるようです。 今年の9月にはSilverlight 2.0互換のMoonlight 2.0がリリースされる予定で、C#やDLRを基盤とする言語を利用したアプリケーションもブラウザ上で実行できる様になるようです。オープンで自由に利用できる環境である事から様々な広がりを見せ、今年はMonoに注目が集まり始める年かもしれません。今後のプロジェクトの動向に注目したいです。
The Registerの記事によると、先日開催されたMicrosoftのProfessional Developers' Conference(PDC)にてC#アーキテクトのAnders Hejlsberg氏が語ったところによると、C#の次期バージョンであるC# 4.0は動的言語としても利用可能になるそうだ。 すでに.NET FrameworkとしてはVB.NETやIronPython、IronRubyが利用できるので、C#の動的言語化はそれほど突飛なアイデアではないのかもしれない。なお、C# 4.0ではCOM IDispatchインタフェースがサポートされ、COMアーキテクチャのシステムとも連係可能になるそうだ。
一応補足を。 C++03までのSTLには、std::xxx_if(..., Pred pred)に対応するalgorithm std::xxx(..., T t)が存在して、それはstd::xxx_if(..., std::bind2nd(std::equal_to<T>(), t))と同じことを行うようになっています。 この名前付け規則に従うと、もしstd::copy_if(first, last, result, pred)があるならば、範囲[first, last)についてtと等しいもののみをresult以降にコピーするalgorithm std::copy(first, last, result, t)が必要になってしまいます。こんなalgorithmはナンセンスですし、そもそもstd::copyはすでに普通のコピーをするalgorithmとして存在します。さらに、std::cop
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く