C# 6, C# 7
最近、C#がらみの原稿仕事を依頼されたとき、よくある校正が「C# 6になってますけども、6.0ですよね?」。 回答は「いえ、C# 6が正式です」。 C#のバージョン番号、6以降は .0 を付けないのが正式っぽいんですよね。実は。 C# 1.0 C# 1.1 (#lineディレクティブと/** doc comment */が追加されただけ。1.1なのか1.2なのかも割かしよくわからず) C# 2.0...
View Articledot.net にC#オンライン エディター
.NET Core、リリースされましたね。 まあ、その辺りの話は他の人に任せるとして。 .NET Core / ASP.NET Core 1.0 が RTM になりました .NET Core 1.0 RTM / Visual Studio 2015 Update 3 自分が気になったのはこちら。 Scott Hanselmanの.NET...
View Article「project.json辞めます」の意味
.NET CoreといいC#コンパイラーといいオープンソースになったおかげで常に最新の情報を拾えてありがたい限りなわけですが。 緩い段階のものが見えすぎて、いろいろ振り回されたりもします。 最近の話題というと、「project.json辞めます」騒動。 これ、あんまり字面通り受け止めるとダメだと思うんですよね。 話の出どころは「ASP.NET Community...
View ArticledotnetConf 2016 Japan
昨日はdotnetConf 2016 Japanでした。 あいにくの雨でキャンセル率高く、当初予想ほどの混雑には至りませんでしたが多くの方のお越しいただきました。 改めて御礼申し上げます。 以下、発表資料をまとめておきます。 dotnetConf 2016 Japan 開催にあたって ~ .NET の今と未来 デモ用ソースコード:...
View Articleローカル関数
ちょっと間が空いたんで「C# 7思い出話」タグでなんか書いてたことを忘れかかっていたりはしますが。 C# 7のページにローカル関数の話を足しました。 これで、現状で仕様が結構安定してるやつは全部なんですよねぇ。type...
View Articleピックアップ Roslyn 7/21
PDBファイルへのソースコード埋め込み Proposal: Embed sources in PDBs #12625 提案されたの自体はだいぶ前だし、実作業を開始したのも2週間くらい前からなんですが、PRの方で出たフィードバックをまとめて1 issueにしたみたい。結構おもしろい。 Visual...
View ArticleピックアップRoslyn 8/5
Feature Status: Finishing C# 7のステータスがいろいろ更新されたみたいですね。 Roslyn の開発進捗が更新されました C# 7に入るもの、ほぼ確定したのかなぁ。 C# 7/VB 15には状況が「Finishing(最終作業中)」のものばっかり残して、他は+1(その次)行き。 この感じは、次に出るであろうVS "15" Preview 4が最後のプレビュー版ですかね。...
View ArticleピックアップRoslyn 8/6
Source Generatorが間に合わなかった理由 昨日のブログにある通り、C# 7に入る機能リストが更新されて、入るもの・入らないものに変化があったわけですが。 それと関連して: https://github.com/dotnet/roslyn/issues/12630#issuecomment-237959967 やっぱり、Source...
View ArticleピックアップRoslyn 8/10
7月のデザインノートが2件ほど。 C# Language Design Notes for Jul 12, 2016 C# Language Design Notes for Jul 13, 2016 これ関連の作業がひと段落したところでまとめて清書して表に出したって感じですかねぇ。 この辺りの話、かなりの割合がもう実装されててマージされてたりします。...
View ArticleピックアップRoslyn 8/16 Close祭り
実作業が一段落つくと始まるissue整理。 すごい数一気にコメントついたりCloseされたり。以下、そのまとめ。 やらない 1行目: どういうものか 2行目: やらない理由 Proposal: Fixed-size buffers enhancements #126 構造体の内部に固定長配列を持てるようにしたい。...
View ArticleVisual Studio "15" Preview 4
Preview 4が出たみたいですね。 Visual Studio “15” Preview 4 最近、まあ、Preview の新しいのが出ても、C# vNext の進捗具合だけしか取り上げてなかったりするんですが。 今回も主にその話題で。 インストーラー 1点だけ。新しいインストーラーがだいぶちゃんとしたものになってますね。...
View ArticleピックアップRoslyn 8/27: What’s New in C# 7.0
ブログ: What’s New in C# 7.0 Roslynリポジトリ内の話じゃないんですけど、Preview 4でのC# 7の動きについて、Madsがブログ書いてました。 What’s New in C# 7.0 7.0 そういや、この文章だと「C# 7.0」。 昔ちょっとブログ書きましたけど、最近って小数点以下のバージョン付けないんですけど。 C#...
View Articleタプル
思い出したかのように「C# 7思い出話」。 タプルがらみも先週末で一通り書き終わったはずかな。 名前のない複合型 タプル 複合型の分解 タプル これ自体はおおむね当初予定通りですかね。 そんなに裏話的な面白話もなく。 文法的に変化が大きいんで実装は大変そうでしたが。 しいていうと、他の提案を差し置いてタプルの優先度が高かった的な話ですかね。 タプルは、レコード型とか、 C#...
View ArticleUnity 5.5でasync/await使えた話
Unity 5.5 ベータを入れてみたという話。 ブログ曰く、「Mono C# コンパイラー がMono4.4にアップグレードしました。」とのことなので、これ、C# 6使えるはずよね?と。 公式サポートはC# 4 リリースノートを見ると、「C# 4です」って書かれてるわけですが。 Mono 4.4のコンパイラーを使っててC# 6使えないとかお前は何を言っているんだ… まあ、標準ライブラリの方が...
View Articleプログラミング言語における文字コードの話
世の中がほぼUnicode前提になってめでたしめでたし。とはいかなかった現実の話。 String型でできる文字列処理とか、ソースコード自体、特に識別子で使える文字とか。 軽くおさらい: Unicode まあいろんなところでいろんな人が書いてると思うのでさらっと概要だけ。 Unicodeは、元々、「65,536文字あれば十分だろ」とかいう幻想の元、2バイト固定長の文字コードとして作られていました。...
View Articleピックアップ Roslyn 9/6: defaultの型推論
なんか1個、気になったプルリクが。 Prototype: target typed "default" #13603 default(T)を、左辺から型が推論できる場合にはdefaultだけで書けるようにしようっていう作業。 ちょっと前に提案があって、前向きっぽい感じではあったんですけど、なんで今実作業やってんだろう。 今からC# 7リリース辺りまでは、C#...
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メタプログラミング】ValueChangedGanerator
多少やりすぎ感があって大々的に推すかどうかは迷っているものの… ValueChangedGanerator .NET Compiler Platform (コードネーム Roslyn)を使ったメタプログラミングというか、結構なコード生成ツールを作ってしまっていたり。 今度やる勉強会で.NET Compiler Platformの話をするのと、一度作ってしまえば仕事でも活用できそうだったので。...
View Article.NET Fringe Japan 2016で登壇してきました
.NET Fringe Japan 2016やりました。 .NET Fringeっていう本家イベント(アメリカのポートランドで開催)があって、本家の人からそれの日本版をやりませんか?という話が来てそれに応じた形での開催だったりします。 アメリカのイベントって朝からがっつりやるんですよね。本家.NET Fringeは9時開始。日本でもたまにはがっつりやるかって感じで10時開始になりました。...
View Article【Roslynメタプログラミング】ValueChangedGanerator
多少やりすぎ感があって大々的に推すかどうかは迷っているものの… ValueChangedGanerator .NET Compiler Platform (コードネーム Roslyn)を使ったメタプログラミングというか、結構なコード生成ツールを作ってしまっていたり。 今度やる勉強会で.NET Compiler Platformの話をするのと、一度作ってしまえば仕事でも活用できそうだったので。...
View Article