01:06:33 @azyobuzin@mstdn.maud.io
icon

自動実装プロパティのことを getter, setter を書かない、つまりフィールドと理解しているっぽく、許さねえ気持ちが高まりまくってる

01:06:57 @azyobuzin@mstdn.maud.io
icon

忘れるな、 static メソッドは「クラスへのメッセージ」だぞ

01:18:06 @azyobuzin@mstdn.maud.io
icon

C++ 文化圏からやってきたオブジェクト指向のせいで、なんかうまいこと静的型でやっちゃってるように見えるけど、結局は「それダックタイピングでやったほうが都合いいですか?」がオブジェクト指向しますか?の判断基準なんじゃないかな

01:23:11 @azyobuzin@mstdn.maud.io
icon

C# って MS 方言の C++ がそのまんま CLR に乗っかったやつじゃないんですか?(?)

01:23:50 @azyobuzin@mstdn.maud.io
icon

static 変数に状態を持っているせいで並列処理できなくて苦しむ前に static 変数はやめとけ

01:26:23 @azyobuzin@mstdn.maud.io
icon

自動実装プロパティの話については、フィールドのように定義して、フィールドのようにふるまうけど、あとから getter, setter に処理を加えるときに、シグネチャを変えず済むという点で、思いっきり Java Java しい getter, setter です

01:28:53 @azyobuzin@mstdn.maud.io
icon

人間に抽象化は難しい、それはそう

01:29:39 @azyobuzin@mstdn.maud.io
icon

性じゃん

01:31:43 @azyobuzin@mstdn.maud.io
icon

それは心配

01:31:51 @azyobuzin@mstdn.maud.io
icon

サマータイムか?

01:34:13 @azyobuzin@mstdn.maud.io
icon

補足説明ですが「static メソッドはクラスへのメッセージ」という発言については、 static, static うるせえほかのオブジェクトと同じやろ!!と言って雑に static おじさんに対してまとめられるかな?という意図であり、前後の文脈ありません

01:35:40 @azyobuzin@mstdn.maud.io
icon

UserStream 死ぬ前に Twitter は早くデベロッパー申請通して

01:41:31 @azyobuzin@mstdn.maud.io
icon

シュウカツコワイなので ES って略称ビビるよね

01:43:27 @azyobuzin@mstdn.maud.io
icon

それは雑 (that's 雑)

02:37:37 @azyobuzin@mstdn.maud.io
icon

トゥートするたびポコポコリクエスト投げ合うの、 HTTP/2 だと Keep-Alive + ストリームで強いのかなぁ

22:08:18 @azyobuzin@mstdn.maud.io
icon

あ16ド

22:18:52 @azyobuzin@mstdn.maud.io
icon

アロケーションをやめろをしていると、例えば byte[] bs = { 0, 1, 2, ... } みたいにすると、リソースからコピーしてくる動作をするけれど、リソース内に持ってる配列初期化データを直接 ReadOnlySpan で扱えたら、 mmap 的にアクセスできるのにといつも思っているが、特にやる気はない

22:23:15 @azyobuzin@mstdn.maud.io
icon

data なのか text なのかは知らんが RVA で持ってる

22:23:59 @azyobuzin@mstdn.maud.io
icon

PE に詳しくないから許して

22:25:47 @azyobuzin@mstdn.maud.io
icon

@unarist はい

22:36:44 @azyobuzin@mstdn.maud.io
icon

1 から 16 までの int 配列を作ったのをコンパイルしたら、最初の .text セクションの最後に配列の中身入ってた

22:38:15 @azyobuzin@mstdn.maud.io
icon

@kb10uy そう。配列のサイズと同じ大きさの構造体と、その型の readonly フィールドが用意されて、フィールドの読み取り = PE 内のデータへのアクセスになってる

22:42:31 @azyobuzin@mstdn.maud.io
icon

immutable 配列がないから C# で配列を初期化した時点でどうあがいても InitializeArray によってヒープへのコピーが走る。終わり

22:43:37 @azyobuzin@mstdn.maud.io
icon

stackalloc も最近初期化子が使えるようになったらしいですが、あれは何もおいしい方法持っていないので、全部代入としてコンパイルされるよ!!

22:46:08 @azyobuzin@mstdn.maud.io
icon

最近泣く泣く書いたのは、コピーした結果を読んでイチ早く解放したかったので

```
fixed (byte* bs = new byte[] { ... })
```

とか最悪なことやった(P/Invoke でポインタが欲しかったので)

22:48:10 @azyobuzin@mstdn.maud.io
icon

自己解凍ファイルっぽさ

22:51:43 @azyobuzin@mstdn.maud.io
icon

ググってみたら、最初に実行されるコードは mscoree の関数へのジャンプと出てきた。真偽は確かめてない atmarkit.co.jp/fdotnet/dotnetw

連載:.NETの動作原理を基礎から理解する! 第2回 .NETアプリケーションが起動する仕組み(2/2) - @IT
23:01:26 @azyobuzin@mstdn.maud.io
icon

Windows が特別扱いしている → もはや PE でどんな起動処理してるか関係ないし、ただのブラックボックス

23:02:45 @azyobuzin@mstdn.maud.io
icon

Windows が特別扱いしてるわりには、あんまり親切なエラーメッセージが出た記憶がないんだけど……

23:11:17 @azyobuzin@mstdn.maud.io
icon

AnyCPU の Prefer64bit だったかのオプションは、 Windows が特別扱いしているから 64bit プロセスで起動できるとかいうカラクリだったりするのかな?

23:12:44 @azyobuzin@mstdn.maud.io
icon

> Requires64bits
> This may be true even if the module contains only IL instructions because of PlatformInvoke and COM interop.

C++/CLI 用かもしれん

github.com/dotnet/corefx/blob/

23:14:07 @azyobuzin@mstdn.maud.io
icon

64bit OS 自体が XP より前になかったことを考えると、タイミング的にも正しいな