Quantcast
Channel: ++C++; // 未確認飛行 C ブログ
Browsing all 482 articles
Browse latest View live

コンパイラーの資源枯渇系エラーとの付き合い方

ちょっとしたきっかけがあって、C# 7のタプル、何要素まで書けるのかというのにチャレンジすることになりまして。 結果だけ書くと、数万要素のタプルを書くとVisual Studioがクラッシュしました。 これは、別にタプルに限った話ではなくて、巨大なソースコードを食わせてコンパイラーを限界まで酷使したら落ちるのは当然なことでして。...

View Article


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 Article


Image may be NSFW.
Clik here to view.

dot.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

Image may be NSFW.
Clik here to view.

ピックアップRoslyn 2/3: csharplang リポジトリ

ようやく、言語設計に関するリポジトリを、Roslynから分離する流れに。 C# Language Design Visual Basic .NET Language Design ここまではOK。 Roslynリポジトリはコンパイラー実装に関するリポジトリなわけで、issueはバグ報告とかで埋まります。...

View Article

Image may be NSFW.
Clik here to view.

ピックアップ Roslyn 2/10

Visual Studio 2017 のリリース日、決まったみたいですね。 「Visual Studio 2017」のリリースは3月7日 リリース記念勉強会を開く(リリースされてなかったら「リリース直前勉強会」にする)つもりで3/11(土)に会場を押さえてあるんですが、割かしいいタイミングだったみたいで。 そろそろ1か月前ですし、告知・募集ページを近々作る予定です。 で、Visual...

View Article


ピックアップRoslyn 2/13

2/10のブログの補足。 csharplangリポジトリ内にいくつか提案ドキュメントが上がり始めたというものの中で、2点ほど取り上げて紹介。この2個だけ、ちょっと以前からの進展があったものです。 読み取り専用参照 Readonly references 最近、C#でも構造体を使ったパフォーマンス改善をいろいろやろうとしているわけですが。 参照戻り値とかはそのための機能ですし、...

View Article

ローカル関数

ちょっと間が空いたんで「C# 7思い出話」タグでなんか書いてたことを忘れかかっていたりはしますが。 C# 7のページにローカル関数の話を足しました。 これで、現状で仕様が結構安定してるやつは全部なんですよねぇ。type...

View Article

ピックアップRoslyn 2/23: Shapes and Extensions

久しぶりに面白そうな話が。 Exploration: Shapes and Extensions #164 2つほど原案があって、組み合わせて結構よさげな機能案ができたので詳細を詰めていきたいという感じの話。 元になっているのは以下の2つ。 Extension everything メソッドだけじゃなくて、プロパティとかインデクサーとかあらゆるものを「拡張」定義したい...

View Article


ピックアップRoslyn 2/28: Milestones 7.X

なんか、csharplang にマイルストーンが切られてた。 ちなみに、リリース時期を邪推されないように、期日は2070年とかのむちゃくちゃな日付になっています。 7.0が2070年、7.1が2071年、…みたいな。 7.0 7.0 3/7のリリースを考えるととっくに実装終わってるはずのもの。...

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 3/18: インターフェイスのデフォルト実装

C#でもインターフェイスのデフォルト実装(まんま、Javaのデフォルト メソッドと同じ機能)の実装始めたって。 Enable a default implementation of an interface method to be provided as part of its declaration. #17927 結構びっくり…...

View Article

C# 7.0リリース(もう2週間くらい経過したけども)

気が付けば、Visual Studio 2017がリリースされてから2週間くらい経ってしまっているわけですが… マイクロソフト公式のRelease CelebrationでLT登壇したり、 自分主催のリリース記念勉強会やったりとかで、 すっかり力尽きていました。 そんな感じでしたが、2点ほどそれの事後的な話。 リリース記念勉強会の動画上げました C#...

View Article

Image may be NSFW.
Clik here to view.

.NET Framework 4.7

.NET Framework 4.7がリリースされたみたいですね。 Announcing the .NET Framework 4.7 更新内容 .NET Framework 自体よりも、ドキュメントとかのシステム更新の方が目立つかも。 API ドキュメントが docs に移行 API の更新履歴が GitHub 上に 自分が直接関係しそうなのは、ValueTuple構造体の追加くらいかなぁ。...

View Article


ピックアップRoslyn 8/16 Close祭り

実作業が一段落つくと始まるissue整理。 すごい数一気にコメントついたりCloseされたり。以下、そのまとめ。 やらない 1行目: どういうものか 2行目: やらない理由 Proposal: Fixed-size buffers enhancements #126 構造体の内部に固定長配列を持てるようにしたい。...

View Article

Image may be NSFW.
Clik here to view.

ピックアップRoslyn 4/16

結構久々のSprint進捗報告。 Sprint 116 Summary #18719 Visual Studio 2017リリース前後の作業が「バグ修正してた」しかなかったので、割かしほんとに久々。 C# 7.1/7.2作業が始まっています。 いくつか紹介。...

View Article


Image may be NSFW.
Clik here to view.

C# でビットフィールド

csharplangに、 C++のビットフィールドみたいなの、C# にもほしい (任意のビット数を表す)bit 型が欲しい みたいなのが投稿されていまして。 「それ、ライブラリとアナライザー、ちょっとしたソースコード生成でできるよ。」という話。 BitFields ライブラリ ということで実装してみたのがこちら。 BitFields ライブラリのソースコード...

View Article

int 型のジェネリック型引数

昨日のビットフィールド用コード生成の副産物の話。 M~Nビット目 「int型変数のM~Nビットの範囲を取り出す処理をしたい」みたいなときに、「M~Nビット目を表す型」を作りたいときがあったりします。 (まあ、ビットフィールドの利用頻度自体がそんなに高くないので、この型の需要もそこまで大きくはないですが。) ってことで、書きたいのはこんなコード: // C#...

View Article


タプル

思い出したかのように「C# 7思い出話」。 タプルがらみも先週末で一通り書き終わったはずかな。 名前のない複合型 タプル 複合型の分解 タプル これ自体はおおむね当初予定通りですかね。 そんなに裏話的な面白話もなく。 文法的に変化が大きいんで実装は大変そうでしたが。 しいていうと、他の提案を差し置いてタプルの優先度が高かった的な話ですかね。 タプルは、レコード型とか、 C#...

View Article

Image may be NSFW.
Clik here to view.

新しい csproj 形式

Visual Studio 2017で、csproj 形式が新しくなりました。 背景としては、 一時期、脱msbuildをしようとしてた -脱msbuildのついでに、csprojを辞めて、project.json 形式にプロジェクト設定全部入れようとしてた時期があった 結局、msbuildに戻ったけども、既存のcsprojをもっとシンプルにしたいという要件だけが残った...

View Article

Image may be NSFW.
Clik here to view.

Visual Studio 2017 Update 3 (15.3) Preview

Build 2017で、Visual Studio 2017 Update 3の Preview 版が公開されました。 (ちなみに、Preview のつかない安定板 Visual Studio とは side by side の別フォルダーへのインストールになります。) 当初、.NET Core 2.0/.NET Standard 2.0 Preview...

View Article
Browsing all 482 articles
Browse latest View live