.NET

C#をプリプロセッサとして使う ― CsPP

先日、10年ぐらい前に自分が書いたC++のコード保守する必要に迫られて、プログラムのコードを眺めていたらC++のtemplateが駆使してあって、さっぱりわからなかった。 1時間ぐらい解読のためにソースコードを眺めていたが、もはや人類の理解の範疇をはるかに…

C#をスクリプト言語として使う

「CSharpCodeProviderについて詳しく教えてくれくれ」という宇宙からの電波を受信したため、なんか久しぶりに長文書いた。↓ C#をスクリプト言語として使う http://labs.yaneu.com/20101017/ 書くのに3時間ぐらいかかった。あかん。最近、なんか長文書くのし…

Programming F#

Programming F#の訳本が近日発売されるようです。(→ プログラミングF# ) F#は関数型言語で、Visual Studio 2010からは正式にサポートされています。.NET Frameworkのライブラリが呼び出せるのでC#の代替として使ったり、一部だけF#で書くだとかそういったこ…

.NET Frameworkの悲劇

以前から.NET Frameworkの"."(ドット)が見にくい(→ http://d.hatena.ne.jp/yaneurao/20081204 )と思っているのだが、私のお客さんは、ドットはもとより、NETも気に入らないらしく、「フレームワーク」と呼ぶ。「フレームワーク」なら、まだ私は理解可能なも…

結論として

.NET Frameworkの標準のテキストボックスが高機能になるというのは将来的にもあまり期待できない。素直に誰かのコンポーネントを使うのが一番いいと思う。 私が今回調査した範囲においてAzuki以外には行番号が表示とシンタックスハイライトとが出来て、日本…

Azuki テキストエディタエンジン

Azuki テキストエディタエンジン http://azuki.sourceforge.jp/ 日本人の書いたテキストエディタエンジン。C#から使える。行番号表示、シンタックスハイライトなどが出来る。現在のバージョンは1.55。 ざっと使ってみた感想だが、まずディフォルトのデザイン…

ICSharpCode.TextEditor

SharpDevelopで内部的に使われているテキストボックス。試してみようかとSharpDevelopのソースをダウンロードしてきたのだが、サンプルがVisual Studioでビルドできない。参照設定とかきちんとすれば出来るんだろうけど、Visual Studioでビルドできないプロ…

ScintillaNET

ScintillaNET(→ http://scintillanet.codeplex.com/ )は、世界的に使われているScintillaを.NET用にwrapしたものだ。現在の最新のバージョンは2.2。 早速使ってみた。行番号表示、C#のシンタックスハイライトともに問題ない。 しかし日本語を入力時に入力中…

AlpTextBox

最初、AlpTextBoxという.NET Frameworkで使えるテキストボックスのコンポーネントを使ってみた。vectorで検索するとこれしか無かったのだ。 速度はそこそこ速い。WindowsAPIを直接呼び出して行番号を描画してある。 使ってみてわかったことは行番号を表示す…

現代のテキストボックスのあるべき姿とは?

こういう大貧民的プログラミングの視点で捉えると、.NET FrameworkのTextBoxは、WindowsのEditBoxの薄いwrapperで、メソッドが十分に用意されておらず(現在のキャレットの存在する行番号すら取得できない)、これでは十分なパフォーマンスが出るとはとても言…

Visual Studio 2010のword wrapの遅さ

どれくらい遅いかというと↓これくらい遅い。 Visual Studio 2010のword wrapの遅さ(本の虫) http://cpplover.blogspot.com/2010/04/visual-studio-2010word-wrap.html この分ではVisual Studio開発チームに出来のいいテキストボックスなんて期待するのは土台…

TextBoxに関する覚書のすべて

自作のソフトでテキストの編集が出来るようにしたかったのだが、普通のテキストエディタのようにundo/redoが出来るようにしたり、範囲選択+tabだとか、自動インデントとか行番号表示だとかそういったものをサポートしようと思うと結構大変だ。 .NET Framewor…

正直、ASP.NETとその周辺はどうなのよ

ASP.NETで開発する場合、Expression Web2をデザインツールとして使っている方も結構といるだろう。 これはASP.NETと連携性が良いからである。簡単に言えば、ASP.NETの独自タグ(asp:XXXX で始まるタグ)を解釈して表示してくれるのである。まあ、これは、Dream…

珍しいタイプの.NET本が登場

The Root of .NET Frameworkposted with amazlet at 09.01.05荒井 省三 ソフトバンククリエイティブ 売り上げランキング: 3758Amazon.co.jp で詳細を見る 「The Root of .NET Framework」という.NET本が発売された。atsushienoさんによる書評はこちら(→http:…

PIC16F887の周辺

16F887は16F877,16F877Aの改良版である。40pin DIP packageが秋月で250円(16F877Aは400円)である。秋月やADWINのPICライターは16F887には対応していない。 むしろ、そんな余計な改良をして ・バイナリの互換性がなくなった ・対応しているPICライターが少な…

続 Vistaで特定のファイル名のついた実行ファイルの実行に管理者権限が必要な件

前回(id:yaneurao:20071015)の続き。 うちの会社で作ったオンラインゲームのオンラインアップデートをするためのプログラム(以下、アップデータと呼ぶ)にupdateという名前をつけてしまったがためにUACが必要になっていたよ、というのが前回までの話。 前回書…

Vistaで特定のファイル名のついた実行ファイルの実行に管理者権限が必要な件

先日、うちの会社で作っているソフトのオンラインアップデートを行なうプログラムがVistaでは管理者権限が必要ですとか何とか出てきて、しばらく理由がわからなかったのだけど、 その一環として、実行ファイル名に "Setup" "Install" "Update" といった文字…

VisualStudio2009

VisualStudioの開発チームにいろいろ要望を伝えてきた俺様。

MS MVP SUMMIT 2007所感

サミットの詳しい内容は書いてはいけないことになっているので、簡単な感想レベルのものだけ。 今回のサミットでは、さまざまな製品の開発陣に直接質問をする貴重な機会を得ることが出来た。私が見つけたバグは、たいてい製品開発チームも熟知していて、「だ…

NDepend

NDependの作者に道端で会った。NDependは、ソースコードのメンテナンス用ツールのようなのだけど、その時はそんな前知識はなかったので、以下のような会話になった。(訳はテキトウである) NDepend作者「お前は日本のC# MVPか」 私 「そうだ」 NDepend作者「…

PostSharp

PostSharpという.NET Frameworkのためのpost-compilerがリリースされた。(PostSharp doc) MSBuildにビルドフェーズを追加して、そこでapsectをweaveする。AOP以外の用途にも使える。(meiさんのサンプル Kazzzさんによる説明)

C#2.0時代のゲームプログラミング(50)

monoとは言うまでもなく、.NET Frameworkのオープンソースによる実装である。Linux環境下でC#で書いたプログラムを動かしたい時にお世話になる。monoとMicrosoft製の.NET Frameworkとの互換性はしばしば問題となる。 例えばBinaryFormatterでシリアライズさ…

C#2.0時代のゲームプログラミング(49) 〜 delegateを用いたcontinuation

よほどのC#初心者でも無い限り、delegateの便利さを理解していて無名delegateを活用するコードを多用していることと思う。しかしdelegateでcontinuationが実現できることは知らない人が多い。

C#2.0時代のゲームプログラミング(48) 〜 The Programming Language Lua

Luaについてはいまさら語るまでもないだろう。手続き型言語、関数型言語の特性を備えたマルチパラダイム言語である。*1 ちょっとしたスクリプトを書くのに使うと便利で、C/C++からLuaで書かれたプログラムを呼び出して使ったりもする。RPGで、イベントに番号…

Visual Studio 2005 on Vista

Kazzzさんが、Vista(RTM)でVisualStudio2005が使えないとか書いてるんだ。なんでもデバッガが使い物にならないらしい。 うそん?!私のところではWindowsXPのころと相変わらず使えちょりますけども?Kazzzさんの勘違いなんじゃ?と思ったら、菊池さんやらNya…

C#2.0時代のゲームプログラミング(47) 〜 OpenGLは商用開発の夢を見ない?! (4)

少し書き急ぎすぎたかも知れない。今回はOpenGL extensionについてFAQ的なことからおさらいする。 OpenGLのextensionはglGetString(GL_EXTENSIONS);とやって文字列として取得する。文字列ってところが気持ち悪い。Extensionsには一意なnumberが割り振られ…

Live Lecture for Yanesdk.NET Version 1.50

Yanesdk.NETのLive Lectureで初心者向けのチュートリアルFlashを公開した。 興味があれば是非Yanesdk.NETを使っていただきたい。 しかしこの手のFlash作成は意外と面倒くさい。1024×768サイズの14分もの動画がzip圧縮で10.9MBに収まる魅力は何とも捨てがたい…

C#2.0時代のゲームプログラミング(46) 〜 OpenGLは商用開発の夢を見ない?! (3)

で、まあ、「OpenGLだとテクスチャ作るときビデオメモリ無駄遣いすることになるよね」ってな話をしていると、必ず「NPOT使えば?」とか「TxRcは?」とか良く知りもせずに言ってきやがる奴が居るわけですよ。その都度同じ話を説明しないといけないから、いい…

C#2.0時代のゲームプログラミング(45) 〜 OpenGLは商用開発の夢を見ない?! (2)

OpenGLがDirectXと比較して圧倒的に駄目な理由として、テクスチャサイズの制約が挙げられる。 常識的には、ビデオメモリ間の転送であればビデオカードによるアクセラレーションが期待出来る。要するにビデオメモリが空いてて、ビデオメモリにテクスチャを確…

C#2.0時代のゲームプログラミング(44) 〜 OpenGLは商用開発の夢を見ない?!

Yanesdk.NETでは描画エンジンにOpenGLを用いている。私のLet's Note(CF-W2)でもちょっとしたプログラムの修正を行なうことがあるのだけど、極端に描画が遅くなることがある。 気になってベンチマークをとってみたところ、4MB程度のテクスチャを3枚ぐらい確保…