InfoQ ホームページ Microsoft に関するすべてのコンテンツ
-
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"がキーワードに加わる予定である。具体的には、パターンマッチングで使用するためだ。
-
MSMQと.NET Core
Microsoft Message Queuing (MSMQ) は現在、.NET Coreでは使用できない。一般的には他のメッセージキューシステムが好まれているが、エンタープ��イズアプリケーションの多くがMSMQをベースとしているため、.NET Frameworkから.NET Coreや次期バージョンである.NET 5への移行を考えているチームにとっては問題である。しかし先日のReference Sourceへのプルリクエストが、状況を変えてくれるかも知れない。
-
MicrosoftのZeRO-2がAIトレーニングを10倍高速に
Microsoftは、クラスタサイズに対してスーパーリニアにスケールする、分散ディープラーニング最適化アルゴリズムZero Redundancy Optimizerのバージョン2(ZeRO-2)をオープンソースとして公開した。同社はZeRO-2を使用して、1,000億パラメータの自然言語処理(NLP)モデルを、従来の分散ラーニング技術の10倍の速度でトレーニングすることに成功している。
-
C#の新機能: nullチェック演算子
6月24日のC# Language Design Meetingで、Microsoftは、パラメータnullチェック構文の一部を変更した。"Type parameterName!"から"Type parameterName!!"に変更して、実質的に新しい"nullチェック演算子"を導入したのだ。
-
Visual Studio Codeの新しいPython言語サーバーPylance
マイクロソフトは、プログラマーがより優れたPythonコードを記述し、その言語に対するIntelliSenseおよびVisual Studio Codeのサポートを改善することを目的とした、Python用の新しい言語サーバーであるPylanceを発表した。 Pylanceは最終的にMicrosoft Python Language Serverに置き換わる。
-
MicrosoftがgRPC-Web for .NETをリリース
Microsoftは先週、.NET用gRPC-Webプロトコルの実用レベルの実装をリリースした。元々は試験的機能というサポートだったが、今回、コンポーネントがgrpc-dotnetプロジェクトの一部となったのだ。新しいコンポーネントにより、ブラウザ内でgRPCを使用できるようになるので、HTTPサーバをプロキシとして使用しなくても、Webアプリケーションが直接gRRCサーバと通信可能になる。
-
C# 9: newキーワードの型推論
多くの場合において、特定の場所で使用可能な型はただひとつのはずだ。しかしC#では、依然として型を明示的に指定する必要がある。今回、ターゲット型(Target-typed)'new'式の提案がC# 9で採用されたことにより、このようなボイラープレートコードは不要になる。
-
MS-DOSに続いてGW-Basicがオープンソースに
Microsoftは、8088アセンブリ言語で記述されたGW-BASIC 1.0インタプリタのオリジナルソースをGitHubで公開した。BASICの一種であるこのプログラミング言語は1983年にリリースされ、IBM PC互換機用のMS-DOS オペレーティングシステムにバンドルされていた。MS-DOCの再オープンソース化に続いてMicrosoftは、リクエストの多かったGA-BASICをMITライセンス下でリリースしたのだ。
-
MAUI: .NETのマルチプラットフォーム用アプリケーションUI
先月のBuild 2020開催期間中、Microsoftは、デバイスネイティブなアプリケーションを開発するためのマルチプラットフォームフレームワークである.NET MAUIのロードマップを発表した。新フレームワークはXamarin.Formsの進化形に相当し、Android、iOS、macOS、Windows用のネイティブ機能を提供する。
-
C# 9: シンプルになったパラメータnullバリデーション
シンプルになったパラメータnullバリデーションがC# 9の機能として取り入れられることになった。最小化されたこの機能では、非nullパラメータの検証に必要なコードが、関数シグネチャ内の1文字にまで削減されている。
-
C# 9 - ソースジェネレータのためのパーシャルメソッド拡張
C# 9のソースジェネレータ(Source Generator)は、コンパイル時にコードを調査して追加的にソースコードを挿入するようなコンパイラ拡張を可能にする。挿入されたコードは、コンパイルされたものとまったく同じアセンブリに組み込まれる。この機能を活用するためにMicrosoftは、パーシャルメソッドの制限の大部分を撤廃することにしている。
-
C# 9でコンパイル時メタプログラミングを実現するソースジェネレータ
ソースジェネレータ(Source Generator)は、コンパイラが生成したメタデータを使ってユーザコードを調査し、新たなコードを追加的に生成して、プログラムの他の部分と一緒にコンパイルするという動作を可能にする、C#コンパイラの新機能である。
-
Microsoft Build 2020のハイライト
Microsoftは先週、第10回のBuildを開催した。BuildはMicrosoftのテクノロジを使用する開発者を対象に、年次で開催されるカンファレンスである。このオンラインイベントでは、Blazor WebAssemblyの一般向け提供開始、間もなくリリースされる.NET 5の最新情報、Azure Static Web Apps、IoTや人工知能に関する新プロジェクトなど、重要な発表やリリースが目白押しだった。