2004-03-01から1ヶ月間の記事一覧

C#2.0のGenerics以外のところ

C#

C# 2.0 Create Elegant Code with Anonymous Methods, Iterators, and Partial Classes Genericsばかりが注目されていますが、その他の機能についての記事。どれくらいのパフォーマンスが出るのか教えて欲しい・・・

C++/CLI

Candidate C++/CLI Language Specification ちょっと古いですが、ISO標準にもなるC++/CLIの仕様。delegateやpropertyが使えたり、何かもー別言語だよ・・・ // generics generic ref class X { void f(T t) { t->g(); } }; // template template void X(T t)…

VC++ SP6

C++

Service pack 6 VC++のサービスパックが出てた。まだ、サポートするのね。しかし、会社で使っているのはVC++6.0SP3。SP4以上にするとDevPartnerが動かなくなるので上げられないのです。個人で買うには高いソフトだけど、仕事で使うソフトなのに予算が取れな…

ソフトウェア開発の方向性

今後のソフトウェア実行環境は仮想マシンが主流になると個人的には思っていますが、進む方向としては大きく分けると、この3つでしょうか? Java/JVMによるプラットフォーム&言語の統一 .NET/Monoによる仮想マシンと共通言語ライブラリ C/C++とスクリプト言…

似非Iterator

C#2.0でサポートされる機能の1つにIteratorがあります。これは、CoroutineとかMicroThreadとかFiberとか呼ばれることもあります。C#2.0の紹介ではforeachが楽に書けることしか強調していないのですが、関数に状態を持たせることができ、また、呼び出し側が…

一ヶ月が過ぎた・・・

なんとか一ヶ月休まず日記が書けた。今度は3ヶ月を目標に頑張ろう。

IronPython

IronPython: A fast Python implementation for .NET and Mono CIL bytecodeに落ちるPython。Python.NETはPythonから.NET Frameworkを呼び出すというものでしたが、こっちは正式に.NET(とMono)に対応していますね。楽しみ。

ドラクエ5プレイ中、現在17時間

グランバニア王位継承、ビアンカさらわれるところまで。嫁選びはかなり揺れたがビアンカを選択。 昔プレイしたときは、そんなにモンスターを仲間にした記憶がないけど、勇者らが仲間になるまではこんな感じだったのか。全然覚えてねー。 パーティーは序盤で…

カスタム属性とRealProxy

便利だけどあんまり使われていないので、使用例をちょっと紹介。開発中に#ifdef DEBUGでトレース埋め込んだりすることがあると思います。良くあるパターンとしてメソッド名や引数、時間などを書き出すと思いますが、単純作業で退屈ですし、ソースコードが読…

ドラクエ5プレイ中、現在9時間

休日出勤しなくて済んだので、久々に秋葉へお出かけ。ドラクエ5が発売されていたので買ってくる。コンシューマゲーム買うのは3ヶ月ぶり、すっかりゲームしなくなったよなぁ。ドラクエ5は2回解いているけど、両プレイともフローラを嫁に選んでいたりする…

.114e?

.NET Framework Standard Library Annotated Reference, Volume 1: Base Class Library and Extended Numerics Library, 1/eCLR Program Managerによる、待望の.NET Frameworkベースクラスリファレンス(MSDNライブラリをそのまんま印刷したよーな、無茶苦茶…

飴投下

Visual Studio 2005 Community Technology PreviewがMSDNでダウンロード出来るようになったよーです。発売延期の不満解消の為でしょうか? MSDNを更新しなかった私としては、更に不満が・・・(笑)

Monoとside-by-side

昨日のmcsとcscのパフォーマンスの違いがやっと判明。同じバージョンのCLR上で動いてると思ったら、実はmcsでコンパイルした方は1.0.3705、cscは1.1.4322で動いていたというオチでした。.NET Frameworkを2バージョン入れているのでside-by-side実行されるっ…

コンパイラの違いによるGCの挙動

やねうらおさんとこのC#スレの話題。 ループ内で100MB単位のメモリを確保しまくるコードがGCを呼び出すかどうかで、cscでコンパイルしたモジュールだとSystem.OutOfMemoryException 例外を投げて終わるとありました。それはそれでアリだと思うのですが、興味…

GCによるリソース管理

Teaching an old dog new tricks: GC fun in Whidbey Whidbeyでは、GC関連で幾つかの強化がなされるようです。ひとつは、GC.AddMemoryPressure(size)という直接unmanagedリソースのサイズを教えるというベタベタなメソッド。これでGCがunmanagedリソースのサ…

C++の最適化

C++

Profile-Guided Optimization with Microsoft Visual C++ 2005 ふむー、色々inline化出来るみたい。

何もない一日

今日は、ひたすら仕事をしてた気がする。ここ一年くらい現実逃避してたけど、バーンアウトから復活してきたので、今年は仕事を頑張りますか。 G・M・ワインバーグ先生の「スーパーエンジニアへの道」とか読み返しながら、そろそろ技術リーダにしがみついて…

ユーザインタフェースの分離

MyXaml XamlはLonghornのUI記述用言語ですが、早くもこんなのが出ています。ASP.NETではコードビハインドとか言って、UIデザインとロジックを分離してましたがWinFormの場合は、Visual Studio .NETが大量のUI用コードを埋め込んでくれます。UI部分は顧客と打…

Java on Mono

IKVM - The development of a Java VM for .NET .NET上で動くJVMです。ソースコードからビルドする必要があると思って手を出していなかったのですが、よく見たらバイナリがありました。(^^;早速ダウンロードして実験。 $ javac Hello.java $ ./ikvm.exe Hell…

思い出は美しく

蘇るPC-9801伝説 私は1997年くらいまではPC-98使っていたんですが、壊れて泣く泣くDOS/Vへ移行。一応環境は逃がしてあるので、今でも98エミュ上でFL(ファイラー)が立ち上がるし、NPlay55(MIDIプレイヤー)も動くし、FMDSP(曲データセレクタ)もちゃんと演奏し…

夢のようなツール

Remotesoft ここで面白いツールをみっけた。Salamander .NET Native Compiler Compile .NET assemblies (IL) to native code, run without .NET Framework... マジっすか? Java.NET Java source file to .NET executable compiler: jnc.exe Java class file…

はじめてのPortable.NET

MonoをビルドするためにCygwin環境を構築したので、Windows上でPortable.NETをビルドすることにしました。取りあえず注意点などを。 pnet treeccを入手し、事前にインストール ./configureする前に./auto_gen.shを実行 ./configure --disable-cygwinを実行。…

Iteratorのパフォーマンス

C#

「GrantRi's WebLog [MS]」より Anonymous method (and Iterator) perf 主に匿名メソッドについてですが、Iteratorにもふれています。パフォーマンスについてはGetEnumeratorのコストは多めになるけど、要素の列挙は速くなるので、要素数が多けれコストは回…

Mono 0.31 Release

Mono 0.31 Release Mono 0.31リリースです。バージョン番号は0.31なのに結構出来ていますよね。早速インストール!・・・と思ったらWin版はまだ無いみたい。ガックリ。(追記)諦めるのも悔しいのでmonoをWindows上でビルドしました。で、早速yaneSDK4Csのテ…

Rotor周り

SSCLI.NET - プロジェクト ちらっとタイトルだけ見ましたが、面白そうなものがちらほらと。Gyro X v1.0 MacOS X向けのGyro(RotorのGenerics対応版)。流石にもう眠い・・・

午前様

本年度はあんま仕事が忙しく無かったんですが、久々に0時過ぎまで会社に。電車も終わってしまっているので歩いて帰宅。1時間30分。しかし、この程度歩いただけでヘトヘト、ちょっとは運動しないと駄目ですね。家に着いたら2時過ぎで、Webサイト見て回る気…

古のCTRL-Z

Why do text files end in Ctrl+Z? ファイルの終わりのCTRL-Zの由来。初めて買ったパソコンがPC-98で、1万円近く出してMS-DOS3.3Dを買った世代なのでまるっきり馴染みがないわけじゃないですが、流石にCP/Mは触ったことないです。ちなみにMS-DOSが何に使う…

遙か彼方のLonghorn

Introducing "Longhorn" for Developers Longhornに関する記事の日本語訳。Longhornについては色々情報が出ていますが手元に来るまでに早くても2年くらいありそうな上に先日のWhidbey延期で、しばらくは無視してて構わない気になってます。(^^; あと、XAMLと…

DotGNU Portable.NET

DotGNU Project Monoの方はチェックしていましたが、こっちはよく分かってません。スクリーンショットを見る限り、それなりに出来てきているように見えますが、なんでMonoほど話題にならないのでしょうか。でも、個人的にはGNUで.NETクローン作っているのが…

delegateのパフォーマンス

MSDNには役に立つ記事が沢山あるのですが、如何せん膨大なので何かの偶然で出会わないとずっと気づかないままだったりします。で、今日の出会い(^^; Calling Code Dynamically メソッドの動的呼び出しのパフォーマンス比較についての記事ですが、注目したの…