InfoQ ホームページ dotNET-Languages に関するすべてのコンテンツ
-
Microsoft .NET Conf 2020: .NET 5、C# 9.0、F# 5.0など
先週オンラインでストリーミングされた.NET Confの2020エディションで、Microsoftは、待望久しい.NET 5と、.NET言語の新たなメジャーバージョン(C# 9、F# 5)、ASP.NET 5、EF Core 5.0をリリースした。Visual Studio 2019の新バージョンもリリースされた。.NET 5のサポートとGitツーリングの改良が行われている。BlazorやProject Tyeなどのツールやフレームワークに関するセッションも実施された。
-
関数型プログラミングの復活 - QCon Plusハイライト
QCon Plusの関数型プログラミングの復活トラックには、関数型プログラミングがソフトウェア開発を楽しい経験にする方法を説明する専門家が何人か参加した。また、C#やJavaなどのオブジェクト指向言語が、より関数型になるように進化している理由と方法についても説明した。
-
Fabulousにより、F#でiOS向けとAndroid向けの宣言型クロスプラットフォームUIが構築可能に
最近のチャンネル9のショーで、F#デザイナーでアーキテクトのDon Syme氏とFabulous運用担当のxxxはFabulousを紹介した。Fabulousは、Xamarin.Formsをベースとしたクロスプラットフォームのモバイルアプリとデスクトップアプリの開発を目的としたコミュニティ主導のF#フレームワークである。
-
C# 9: ラムダの小改善
9では、”Discard Parameter”と”Static Anonymous Function”という2つの新機能によってラムダに小さなアップグレードが施される予定である。いずれもコードの記述方法を変えるものではないが、開発者の意図を明確にしてくれる。
-
C# 9: Swicth文の範囲演算子とパターンマッチング式
C#が初めて紹介された頃から、開発者たちは、この言語のswitch構造に範囲演算子(range operator)のないことに不満を唱えていた。このためにC#のswitchは、VBよりもはるかに使い勝手が悪かったのだ。C# 9では、パターンマッチング拡張の一部として、この制限への対処が行われている。
-
C# 9: パターンマッチングの新キーワード `and`、`or`、`not`
エイプリルフールのジョークのように聞こえるかも知れないが、C# 9では"and"、"or"、"not"がキーワードに加わる予定である。具体的には、パターンマッチングで使用するためだ。
-
C#の新機能: nullチェック演算子
6月24日のC# Language Design Meetingで、Microsoftは、パラメータnullチェック構文の一部を変更した。"Type parameterName!"から"Type parameterName!!"に変更して、実質的に新しい"nullチェック演算子"を導入したのだ。
-
C# 9: newキーワードの型推論
多くの場合において、特定の場所で使用可能な型はただひとつのはずだ。しかしC#では、依然として型を明示的に指定する必要がある。今回、ターゲット型(Target-typed)'new'式の提案がC# 9で採用されたことにより、このようなボイラープレートコードは不要になる。
-
C# 9: シンプルになったパラメータnullバリデーション
シンプルになったパラメータnullバリデーションがC# 9の機能として取り入れられることになった。最小化されたこの機能では、非nullパラメータの検証に必要なコードが、関数シグネチャ内の1文字にまで削減されている。
-
C# 9 - ソースジェネレータのためのパーシャルメソッド拡張
C# 9のソースジェネレータ(Source Generator)は、コンパイル時にコードを調査して追加的にソースコードを挿入するようなコンパイラ拡張を可能にする。挿入されたコードは、コンパイルされたものとまったく同じアセンブリに組み込まれる。この機能を活用するためにMicrosoftは、パーシャルメソッドの制限の大部分を撤廃することにしている。
-
C# 9でコンパイル時メタプログラミングを実現するソースジェネレータ
ソースジェネレータ(Source Generator)は、コンパイラが生成したメタデータを使ってユーザコードを調査し、新たなコードを追加的に生成して、プログラムの他の部分と一緒にコンパイルするという動作を可能にする、C#コンパイラの新機能である。
-
C# 9ではスクリプティングをファーストクラスサポートへ
"スクリプティング"言語を定義する特徴のひとつは、ボイラープレートを必要としないことだ。ファイルの最初の行から、通常は関数の中にある宣言やステートメントを記述することができる。更新されたトップレベルステートメントの提案では、この機能がC# 9に計画されている。
-
C#用静的解析ツールRoslynator.Analyzersで500以上の方法によるコード改善が可能に
Roslynator.Analyzersパッケージの新バージョンである2.3.1では、500を越える分析とリファクタリング、修正が可能である。RoslynatorはC#コードの静的分析に、オープンソースのRoslyn.NET Compiler Platformを使用して、コード改善のためのヒントとアクションをIDEに表示する。
-
C#の今後 - パラメータnullバリデーションの簡略化
プロポーザル #2145は一見すると、C# 8のNullable Reference型機能の論理的拡張のように思われる。基本的な考え方は、非nullパラメータを受け入れるメソッドにおいて、引数のnullチェックを明示的に行う必要をなくす、というものだ。しかしながら、これが大きな論争の的になっている。
-
C#のプライマリコンストラクタ
我々は以前、プライマリコンストラクタについて、2014年にそれがC# 6およびVB 12の機能候補リストから削除されたことをお伝えした。昨年末、そのプライマリコンストラクタが再びC# 9の機能候補になったのだ。