W języku C# (i Java) ciąg znaków jest niewiele więcej niż tablicą znaków z przechowywaną długością i kilkoma metodami przyczepionymi. Podobnie, obiekty referencyjne i wartościowe na bok są niewiele więcej niż gloryfikowanymi strukturami z dodanym dziedziczeniem i interfejsami.Syntactic sugar vs feature
Na jednym poziomie te dodatki mają dla siebie wyraźne cechy i ulepszenia. Na innym poziomie czują się jak marginalnie ulepszenie ze statusu "cukru syntaktycznego".
Aby wziąć ten pomysł dalej, należy rozważyć (może mam jakieś szczegóły źle, ale punkt pozostaje):
transistor
elementary logic gate
compound gate
| |
ALU flip-flop
| | |
| register RAM
| |
CPU
microcode
assembly
C
C++
| |
MSIL JavaScript
C# jQuery
wiele razy, każda pojedyncza warstwa abstrakcji wygląda jak cukier składniowej, ale wielu warstw separacja czuje się bardzo oderwana od siebie.
Skąd wiadomo, że coś przestało być cukrem syntaktycznym i zaczęło funkcjonować jako bona fide?
Czy odwołujesz się do projektowania języka? Co masz na myśli mówiąc "coś"? – Dario
Zasadniczo subiektywne, myślę. – dmckee