InfoQ ホームページ Language Design に関するすべてのコンテンツ
-
Cloudflare Foundations:強固でスケーラブルなサービスを構築するための総合的なRustライブラリ
Cloudflare社はFoundationsのリリースを発表した。分散したプロダクショングレードのシステムを構築するための強力なRustライブラリだ。当初はOxyプロキシフレームワークの一部として開発されたFoundationsは、大規模なサービスのデプロイと管理の複雑さを簡素化するために設計された汎用的なライブラリへと進化した。現在GitHubで公開されているこのオープンソースプロジェクトは、エンジニアが複雑な本番運用のセットアップに煩わされることなく、コアのビジネスロジックに集中できるようにする。
-
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ではスクリプティングをファーストクラスサポートへ
"スクリプティング"言語を定義する特徴のひとつは、ボイラープレートを必要としないことだ。ファイルの最初の行から、通常は関数の中にある宣言やステートメントを記述することができる。更新されたトップレベルステートメントの提案では、この機能がC# 9に計画されている。
-
C#の今後 - パラメータnullバリデーションの簡略化
プロポーザル #2145は一見すると、C# 8のNullable Reference型機能の論理的拡張のように思われる。基本的な考え方は、非nullパラメータを受け入れるメソッドにおいて、引数のnullチェックを明示的に行う必要をなくす、というものだ。しかしながら、これが大きな論争の的になっている。
-
C#のプライマリコンストラクタ
我々は以前、プライマリコンストラクタについて、2014年にそれがC# 6およびVB 12の機能候補リストから削除されたことをお伝えした。昨年末、そのプライマリコンストラクタが再びC# 9の機能候補になったのだ。
-
Microsoft、組み込みデバイスをターゲットとしたTypeScriptの高速サブセット”Static TypeScript”を発表
Microsoftは先頃、Static TypeScript(STS)を紹介する研究論文を、Managed Programming Languages and Runtimes 2019 (MPLR 2019)国際会議に提出した。STSは、リソースの少ない組み込みデバイスを対象とした、TypeScriptのサブセットである。STSプログラムは、わずか16kBのRAMしか搭載していないデバイス上で、組み込みのインタープリタよりも高速に動作することにより、バッテリの持続時間を延ばすことができる。
-
C# 8でのnull許容型の拡張
.NET 2で初めて導入されたNullableは、過去10年半にわたってほとんど変更されなかったが、間もなく変更されるようだ。C# 8では、null許容の参照型をサポートする操作の多くが、null許容の値型にも適用できるようになる。
-
-
Microsoft、理解の容易なコード記述のためのプログラム言語 Bosque を公開
Microsoftは先頃、人間とマシンの両方にとって単純かつ明確で、理解の容易なコードを書くための言語設計を調査する研究プロジェクトである、Bosqueプログラミング言語を公開した。 この言語は、TypeScriptからヒントを得た構文と型に加えて、MLとNode/JavaScriptにインスパイアされたセマンティクスから派生したものだ。