C#はもちろんオブジェクト指向言語である。しかし、今後はC#7のタプルの登場により、オブジェクト指向っぽくないプログラミングスタイルに転換することになるであろう。

 

C#7の新機能

http://ufcpp.net/study/csharp/cheatsheet/ap_ver7/

 

従来オブジェクト指向言語では、複数の値を返すルーチンを作成するには、二つのメンバー変数を実装したクラスを作成するプログラミングスタイルが良しされてきたが、タプルの登場により、それはもう古く冗長で大げさな書き方となってしまう。

 

C言語プログラマーがオブジェクト指向言語のクラスをいうものを始めて知ったとき、これは複数の値を返せるから使える!と思ったのではないだろうか?しかし、複数の値を返せることが、オブジェクト指向の本質ではない。言語を拡張すればよいだけのことなのだ。

 

 

今まで、小規模なクラスを構築していたケースなどは、ほどんどタプルのメソッドで実装されるだろう。

 

 

もうロジックの議論にオブジェクト指向が登場する機会はない・・・

 

オブジェクト指向はあくまでも部品化とフレームワークのための技術

 

 

その他のC#7の新機能で注目したのは型スイッチ。今まで 条件分岐の変数にnull 値が入るために、null値を除くif 文を作らなければならなかったが、これにより条件分岐の書き方がシンプルになる。

 

C#7はかなりの生産性の向上が望めそうだ。

 

 

AD