C# (および Java) では、文字列は格納された長さといくつかのメソッドが追加された char 配列にすぎません。同様に、(参照と値は別として) オブジェクトは、継承とインターフェイスが追加された美化された構造体にすぎません。
あるレベルでは、これらの追加はそれ自体が明確な機能と機能強化のように感じます。別のレベルでは、「シンタックス シュガー」の状態からわずかにアップグレードしたように感じます。
この考えをさらに進めるために、次のことを考えてみてください (詳細が間違っているかもしれませんが、要点は変わりません)。
transistor
elementary logic gate
compound gate
| |
ALU flip-flop
| | |
| register RAM
| |
CPU
microcode
assembly
C
C++
| |
MSIL JavaScript
C# jQuery
多くの場合、単一の抽象化レイヤーはシンタックス シュガーのように見えますが、分離された複数のレイヤーは互いに非常に離れているように感じます。
何かがシンタックス シュガーではなくなり、正真正銘の機能になり始めたとき、どうすればわかりますか?