TryRoslyn 改め SharpLab で、JIT Asm表示
いつの間にかと話題に。 去年の年末にちょこっと紹介したTryRoslynがJIT ASM (JITの結果がどういうネイティブコードになっているかを見れる)機能に対応してたみたいです。 TryRoslyn、今はSharpLabっていう名前に変わって、ドメインも取った見たいです: https://sharplab.io/ ネイティブ コードの確認 例えばこんな感じのコードを書いて、 using...
View ArticleピックアップRoslyn 5/30: C# 7.1など(de:code 2017)
先週、de:code 2017で登壇してきたわけですが。 資料、公開しました。 C#の現状と今後—Iwanaga Nobuyuki トラック オーナーの方に「日本の第一人者」とかいう煽りタイトルを付けられてしまったわけですが。 なんかネタなタイトル(このすば)を冗談で言ってみたら採用されてしまい、「MVPはどいつもこいつも…」とか思われてそうで怖いわけですが。 ネタはタイトルだけです。 C#...
View ArticleVisual Studio 2017 Update 3 Preview 2
なんかVisual Studio上の通知に来てたので気づいたんですが、Visual Studio 2017 Update 3 の更新が来てました。 Visual Studio 2017 Update 3 Preview 2。 (なんかこう、もうVisual Studioもセマンティックバージョンにすればいいのに。15.3.2 とか。) C# 7.1 で、ちょっと試した感じ、C# 7.1...
View Article.NET Fringe Japan 2016で登壇してきました
.NET Fringe Japan 2016やりました。 .NET Fringeっていう本家イベント(アメリカのポートランドで開催)があって、本家の人からそれの日本版をやりませんか?という話が来てそれに応じた形での開催だったりします。 アメリカのイベントって朝からがっつりやるんですよね。本家.NET Fringeは9時開始。日本でもたまにはがっつりやるかって感じで10時開始になりました。...
View Articleピックアップ Roslyn 9/9
タプルの分解の最適化 タプル構築と同時に分解(要するに多値代入というか)する場合は、タプルを作らない最適化かけたいって。 Optimize deconstruction of tuple literal to not construct a ValueTuple #13631 要するに、例えば以下みたいなswapコード書いたとして、 var x = 1; var y = 2; (x, y) =...
View Articleピックアップ Roslyn 6/30
csharplangに出てる提案の整理をしたみたいで、 いくつかの提案に「Proposal Champion」ラベルが付き始めたようです。 「Proposal Champion」は、Proposal(提案が出てるだけ)とChanpion(C#チームの誰かがオーナーになって進めることが決まった段階)の間くらいのつもりっぽく。 「いつかは取り組むけども、今すぐとはいかない」くらいみたいです。...
View ArticleピックアップRoslyn 7/30: C# 7.1の先の計画& .NET でのメモリ手動管理
C# 7.1の先の計画 C# 7.1 がらみの作業も落ち着いたところで、 その先の優先度付け的な Design Notes がアップロードされていました。 C# Language Design Notes for Jul 5, 2017 概ね以下のような感じ。 構造体の活用(特に ref がらみ)は C# 7.2 でまとめて実装 Utf8String は C# 8.0 に回りそう static...
View ArticleRoslynに提案issueを立てた話: nullの扱いに関して
MVP Global Summit (グロサミ)に行ってきてたわけですが。 なんか、行きの飛行機内で思いついてしまって、そのまま向こうで頑張って issue 投稿、 せっかくだからグロサミ中に Mads (C# のPM)を捕まえて「こんな問題見つけちゃって、昨日ちょうどissue立てたんだけどどうしよう?」みたいな話を振ってきたり。...
View ArticleVisual Studio 2017 Update 3正式リリース
Visual Studio 2017 Update 3の正式リリースが来てるみたいですね。 普通にVisual Studio 2017上の「通知」や「拡張機能と更新」辺りからや、Visual Studio Installerから更新できます。 先週くらいから、中の人のブログとかtwitter周りで「リリース近い」的な言葉がちらほら出てきてた中、 一昨日、Preview...
View ArticleピックアップRoslyn 9/3
今日は以下の3本立て: 次のリリース(C# 7.2)の作業どのくらい進んでるのか久々に眺めてみた 1個、Champion(取り組むこと自体は確定)判定を受けた提案が出てた(return, break, continue 式) C# 8.0に向けて、「null許容参照型」の作業が最近活発化してる C# 7.2(次のマイナーリリース)を試してみる...
View Article.NET Conf 2017 Tokyo, Japan
.NET Conf 2017 Tokyo, Japanやります。 日時: 2017/10/07(土) (12:30開場、13:00開始) 会場: 日本マイクロソフト株式会社 品川オフィスセミナールーム A, B, C+D 公募 今回の .NET Conf 2017 Tokyo では、8セッションを公募しています。.NET について話してみたいという方はこのチャンスにぜひ!...
View ArticleC#小ネタ集: C#をWeb上で試す
小ネタ ここのところ、twitterで脊髄反射的に飛びついたきり、gistとかに書き散らかして終わりにしちゃってるネタがちらほら溜まってきたので、ここらでブログかしようかなと思います。 C#小ネタ集とか銘打って。 C#小ネタ集と言いつつ、あんまりC#が関係ない物もありますが。 結構溜まってるんで、数日は連続で書くことになるかなと思われます。 Web上で試したい...
View ArticleVisual Studio 2017 Release Candidate
来てた。 (Connect前のリーク騒動ありましたが… Connectをもって) Visual Studio 2017 Release Candidate もう今、クロスプラットフォームを推す状況なので、Visual Studio for Mac (Xamarin Studioのリブランディング)と、モバイル開発、Azure辺りなんかが前面に出てますが。...
View ArticleピックアップRoslyn 10/8: C# 7.1 の default 式のバグ
昨日の .NET Conf 2017 Tokyoでちょこっと話したりしたんですが、C# 7.1のバグを踏み抜いたという話。 (正確には同僚が踏んじゃったバグを僕がバグ報告入れた) 割と手短に示せるバグで、以下のような例がわかりやすいんですが、nullable型な引数のデフォルト値として、default式を使ったとき、値が null にならないとおかしいはずなのに 0 になるという問題。...
View ArticleピックアップRoslyn 10/9
今日は、新たにChampion (取り組むこと確定) が2件と、面白そうな提案1件。 Champion: ref local reassignment #933 … ref ローカル変数の再代入 Champion "Declaration Expressions" #973 … 宣言式 ValueEnumerator (fast to code and run) #982 … 値型...
View ArticleVisual Studio 15.5 Preview
こないだ Visual Studio 2017 Version 15.4の正式リリースが出たところですが。 (主にUWP/Windows 10 Fall Creators Update絡みだったので個人的にはバグフィックス以外そこまで恩恵なし。) 翌日にもう[Visual Studio 2017 Version 15.5のプレビュー版]が。 「Stepping...
View Article小ネタ 式の評価順序
C#小ネタと言いつつ、IL小ネタになりがちだったので、今日はC#小ネタらしく。 最初にちょっとしたクイズ。 まず、中身は何でもいいんですが適当な2引数のメソッドを用意します。 例として、単純な足し算でも用意しておきましょう。 static int F(int x, int y) => x + y; 以下の2つのコードの挙動は同じでしょうか?違うでしょうか? 1つ目: 一時変数を使用 var...
View Article絵文字の連結と、書記素クラスター判定
みんな絵文字好きすぎだろ… というRT状況なわけですが。 emoji zwj sequences 元々、👪 (U+1F46A)という、1文字で家族を表す絵文字があったわけですが。 「白人の絵しかないのはおかしい」とか「LGBT に配慮しろ。なぜ男女ペアしかないんだ」とかいろいろと地雷になってしまった結果、 合字で解決しようとかいう仕様が Unicode に入ってしまって今に至っているわけですが。...
View Article小ネタ 式の評価順序
C#小ネタと言いつつ、IL小ネタになりがちだったので、今日はC#小ネタらしく。 最初にちょっとしたクイズ。 まず、中身は何でもいいんですが適当な2引数のメソッドを用意します。 例として、単純な足し算でも用意しておきましょう。 static int F(int x, int y) => x + y; 以下の2つのコードの挙動は同じでしょうか?違うでしょうか? 1つ目: 一時変数を使用 var...
View ArticleGraphemeSplitter の副産物(絵文字調査ツールとRangeスイッチ)
先週書いた GraphemeSplitter の話からの派生で2点。 常設の Web サイト化 GraphemeSplitter のサンプルのつもりで ASP.NET Razor Page なページを1個作ったんですけども。 その後。 なんか気になる絵文字を見かけた 絵文字なのでそれの正確な意味わからないくて気になる しょうがないからその絵文字でググったり 文字コードを調べて U+1F680...
View Article