C#

GC付きの言語での大規模開発

http://d.hatena.ne.jp/yaneurao/20040410#p1で、保守的なGCでは大規模開発は難しいんじゃないかと書いたが、2chのD言語スレの反応を見ていると、どうも私の書き方がまずかったんじゃないかという気がしてきたので補足してみたい。 まず、一般的なGCの仕組み…

SunとMicrosoftとの和解

先日、SunとMicrosoftとが和解した。てっきりエープリルフールのネタかと思った人も多いだろう。そのいきさつについては、次の文章が詳しい。 http://www.microsoft.com/presspass/legal/04-02-04SunPressConference.asp文中で何度か説明なしに出てくるIPと…

ネイティブコンパイラの善悪

C#を始めとして.NET系のcompilerはネイティブコードを生成できない。VC++(Visual C++)だけはネイティブコードを生成しようと思えば出来る。思うのだが、VC++でネイティブコードを生成できる以上、マイクロソフトの手にかかれば、C#であろうが、VB(Visual Bas…

conservativeなGC

BoehmのGCは保守的(conservative)なGCである。これは、root集合から辿れるならば、配列の中身すべての要素を辿ることを意味する。画像imageのように大きな配列を扱う場合、こんなことをされてはたまらない。配列の要素がでたらめな数字だと、そんなところを…

64bit processor

私の一昨日の日記 http://d.hatena.ne.jp/yaneurao/20040406#p1 に対して次のようなコメントをもらった。 サーバアプリケーションにJavaが多いことを考えると int32にペナルティーの付くプロセッサがこれから開発されるとは 思えないのですがいかがでしょう…

変数のbit長

C言語に代表されるような関数型言語には、たいてい整数型(int型)がある。これが何bitであるかは言語系で違う。また処理系でも異なるかも知れない。C言語では、int型は実装依存であり、その処理系でもっともパフォーマンスの優れているbit長である。ふつう、3…

GC付きの言語におけるゲームプログラミング(2)

さて、携帯のような省メモリ環境におけるGCのまずさを書いたところで、Windowsマシンのようにふんだんにメモリのある環境でのGCの挙動について考えていこう。まあ、メモリがふんだんにあるとは言ってもビデオメモリのようなリソースは限度があるので、unmana…

ソースコードのmodularityの低さ(4)

長々と書いてしまった。全然話しが進みやしねぇ。もう、ソースコードがコンパイラの特定のバージョンを強要するのは別にあっても構わないと思う。COMインターフェースで特定のバージョンの実装を要求するのと同じである。それが叶わないならば、コンパイラを…

ソースコードのmodularityの低さ(3)

C++の標準もどんどん進化している。それはそれで構わないのだが、古いバージョンのコンパイラ向けに書かれたコードは新しいバージョンでコンパイルできないという事態は起こりうる。そういう事態が起こったとき、プログラマは通例FDIS/ISではどちらが正しい…

ソースコードのmodularityの低さ(2)

バイナリレベルでの相互呼び出しに関しては、COMでもCORBAでも、まあ何でもいいのだが、それほど実現するのは難しくはない。これと同じことをソースレベルで行なえるかというと、そりゃもう、不可能に近い。なんでか?ソースコードが特定のコンパイラ、ある…

ソースコードのmodularityの低さ(1)

いまだに、やねうらおはC++でプログラムを書かないといけないことがある。この状態はまだしばらくの間は続くと思う。C++は、ライブラリを部品のように使うことが出来ない。namespaceを使って書けば、名前空間を形成することは出来る。それは、部品ではないの…

GC付きの言語におけるゲームプログラミング(1)

GC(Garbage Collector)はオブジェクトを解放する手間が不要になる。世紀の大発明だったと言っても過言ではないだろう。しかし、それが便利なのかどうかは微妙なところだと思う。実際のところ、C#やJavaでまともな(市販レベルの)プログラムが組まれるようにな…

近未来的プログラミング(1)

D言語のテンプレート機構は、明示的なインスタンス化が必要になる代わりに、C++には出来ないようなことまで出来る。それば事実なのだが、それがいいか悪いかは別問題である。思えばJavaやC#にもGenericsが導入され、いよいよ本格的に足並みをそろえた感もあ…

C#入門書

ちょっとあぶくゼニが手に入ったのでこのお金は全部本でも買ってやるかとかねてから買おうと思っていたC#の本をチェックしてたらhttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/ そのままWebで見れました。ヽ(´ー`)ノしかも大幅に書き足してあるし.…

mac対応?

C#

SDLとかはmacでも動くので、D言語もmacで動けばいいのだが、いまのままでは当分先になりそうだ。そうこうしているうちに、mono(.NET frameworkに依存しないC#のコンパイラ)がある程度動くようになってきた。これがmacでも動くようになれば、そろそろC#(mono)…