2007-08-01から1ヶ月間の記事一覧

メモ

AutoHotKeyからIMEにメッセージを送ってIMEをON,OFFするスクリプトを拾ってきたのだが、IE7でうまく動かない。Keylay21でも同じ症状に悩まされ、結局Sleipnirを使えば何の問題も起こらないので使っていたのだが、やはりGoogleツールバーが使えないのは致命傷…

リトルバスターズ

ネタバレまくり。 一通りイベントをこなした後、現実に出る。しかし、現実で失敗して死亡エンドになると、「だからいっただろ」的なことを言った後恭介が再度リセットをかけてくれる。 つまり現実に戻ったように見えて、実は恭介が作った世界の中だった。 そ…

SE

このシリーズ面白いな。 http://rikunabi-next.yahoo.co.jp/tech/docs/ct_s03600.jsp?p=000754

C#

C#って良かれ悪しかれ天才が密室で完全にコントロールして作ってる言語なんだよな。設計者が優秀で、悪いところを消し去りいいところを突き詰めて、理屈ではいいものだというのは分かりきっていて文句を付けるのは難しい。実際使ってみてもすごくよく出来て…

だから

まともな知性をもった人間なら自分の意見であろうと常にするどい批判に晒してるんだ。 だから自分の意見を自分で一瞬の内に否定し去ることも簡単に出来るんだ。なぜその程度のことが理解できない。

あの人の

「あの人の描いてる漫画、萌える奴だよママーッ!!」

はてなスター

はてなスターの問題の大部分はスターがついてないと自分の日記が全然人気がないというのがバレバレになってしまうというところなんだろう。 別にいいじゃんそんなのどうでも。日記に人気があってもおかしいじゃない。

気づいたこと

最近気づいたんだけど、プログラムの読みやすさというのは大部分が「ちゃんと一行に収まっているか」に依存してると思う。C# 2.0の匿名メソッドが使い物にならなくて、ラムダ式がめちゃくちゃ便利なのはこれが原因だ。public staticメソッドが使い物にならな…

Java

Javaを作ったゴズリングさんは言っていた。「PythonやRubyはHTMLを生成するのに適した言語だが、あんなものはプログラミングではない。動的言語はヘルメットを付けずにバイクで走り出すようなもので、確かに早いがそのうち事故って死ぬだろう」 HTMLを生成し…

いーつかーきっとー 見えるよねー というのが盲目の子供の歌だと知って泣きたくなった。

でも

どうしてもstatic ImportしたいからJava 7が出来たらJavaに転向すると思う。関数型がない今じゃなんも使い物にならんけど。

俺のライブラリを見せてやる

C# 3.0になってライブラリもだいぶ変わりました。というか2.0までに作ったやつは全面的に書き直さざるを得ない。 継承してたとこやinterfaceを実装してたとこはことごとくdelegateとラムダ式に置き換わる。コレクションをいじるためのメソッドはほとんどがLI…

Java

新しいJavaの仕様にこんなのが提案されているらしい @Nonnull: nullを許容しない @Nullable: nullを許容する @CheckForNull: nullになる可能性を考慮してチェックを促す @Nonnegative: 負数を許容しない @Signed: 符合付き数値のみ許可 @CheckForNegative: …

C++

C++は.hと.cppの二つのソースファイルを作らなきゃいけないのが非常に冗長で無駄な管理コストを必要とする。これはVC++の簡易リビルド、インクリメンタルビルドあたりをOnにすることで、.hppに全部を記述してしまっても、必要なもの以外再コンパイルされない…

ツッコミ

相手が頭よさげなことを言った時: 「才気換発の極みとはこのことだな」

叶姉妹

「叶でも姉妹でもない者が叶姉妹を名乗り、傲然として誰憚るところもない……そのような者が、叶一族を名乗ることなど、許されるはずがないでしょう!」 「美香さん…まさか、あの力を使うつもりなの!?」 登場人物 叶恭子 叶一族の当主。圧倒的なカリスマを持…

ただまっすぐ自分の頭の中をプログラムに直す。自分の考えの数理的根拠をひたすらつきつめ、書き出し、実装する。これでいいんだろうか。頭の中は、正しかったり間違ってたりしない。普段使ってる概念は数理的にも論理的的にもあやふやで、そのままではコン…

字数制限

ゆるくなってる?

おいついた

現実時間に追いつけた。18日の日記が18日に書けている。だからなんなんだ。

値を返す

C#3.0で一番楽になったのがプロパティの自動実装で、次がvar、その次がコンストラクタ。これを組み合わせると、戻り値用クラスを作るのがとても楽になる。>|| class Hoge{ Result Method(){ return new Result{ X = 3, Y = 4 }; } class Result{ int X { get…

nullを返す

nullを返すか、nullじゃない時だけ起動するアクションを引数にとるか選択出来るようになったんだな。匿名メソッドでも出来たんだろうけどやる気にならなかった。ラムダ式は一行、匿名メソッドは一関数。継承の変わりに匿名メソッドを使っても作業量は減らな…

いいたいこと

コンパイル段階のチェックを厳密化しても、汎用言語で出来るチェックじゃバグはとれない。ミスはいくらか少なく出来るけど、だいたいの場合たいした意味がない。privateもinternalもconstも非ヌル型も、無意味とはいわないけどたいした意味がない。

そういえば

constというのは.hしか見えないC++の欠陥コンパイラに最適化の情報を与えるためにあるんだった。かわいそうな言語だ。.hなんて.hppから抽出すればいいだけの話なのに。抽出したデータをコンパイラがとっておいて次回のコンパイルにも利用すればいいだけの話…

constとリードオンリー

たとえば、IReadOnlyListといったインターフェースを作れば、配列を受け渡した時に中身を書き換えないという約束を明示できる。つまりsetをなくすことが出来、配列の書き換えが出来なくなるが、オブジェクトの書き換えは出来てしまう(stringのように書き換え…

ラムダ式とout

ラムダ式はローカル変数を直接操れる。今までoutで値を返してたところは全部actionにしてしまうといい。無視したりできて便利だ。値を返すとタイミングが関数を抜ける一ヶ所だけで、たった一個の値しか返せないが、アクションなら好きな時に好きなだけ値を返…

ラムダ式

C#のラムダ式では、ローカル変数はスコープの最後の値になる。ローカル変数だと思って使っているのは、実はnewされたインスタンスであり、ラムダ式を含む関数ではいつの間にかローカル変数をメンバにもつ無名のクラスが出来ている。そのインスタンスの値を使…

C#

C#が意図的に入れてないもの。const(C++)、宣言的例外処理(java)、非ヌル型(?)、契約によるデザイン(D)静的型言語のいいところは実行前にミスが洗いだせることだ。エクストリームプログラミングをあみだしたSmalltalker達は、テストファースト、プログラムを…

メガネボーイはオシャレボーイ

みたいなことが書いてあるオシャレ雑誌を線路にバンバン投げいれる。潰れる雑誌、脱線する電車、飛び出すメガネボーイ。

プログラミング基礎

みんな誤解しているような気がするけど、関数に分割されていないことぐらいわかりやすいことはないんだ。しかし再利用のために、仕方なくバラバラにする。再利用しないのに分割するのは基本的には愚の骨頂だけど、ファイルが200行超えたらとりあえず分割せな…

携帯

文字入力ユーティリティを考えた。 う、と打つにはあボタンを3回押さなければいけないが、あ、3、と打つことで代用する。あ、5、と押せばおが出てくる。6以降はそのボタンに書いてある英字が出てくる。それでも余る部分には適当に数字、記号をいれる。これで…