Odpovídáte na názor ke článku Potvrzeno: Java bude Open Source!.
[32] kdyz property je syntakticky cukr, foreach je dalsi syntakticky cukr a najde se spousta dalsich veci, ktere se predkompilovavaji do jednodussi verze c#. proc nema c# vlastni aparat na rozsirovani jazyka podobne jako LISP? (prosim, na to posledni radsi neragujte, protoze to smrdi flamem ;-])
protože zaměňujete dvě věci - syntaxi programovacího jazyka a byte kód virtuální mašiny. jsou to dvě různé věci a nic vám nebrání si třeba nad javovskou virtuální mašinu vymyslet vlastní jazyk. Microsoft to takto dělá, má svou mašinu, nad kterou existují desítky jazyků - syntaxi jazyka tedy nechává na kompilátoru.
Microsoft prostě vymyslel svou mašinu tak, aby se dala univerzálně rozšiřovat různými jazyky, Sun zase vymyslel mašinu čistě jen aby vyhověla Javě a nic jiného. Proto je taky bytekód .NETu složitější, než bytekód JVM.
Takže klidně si můžete rozšiřovat co chcete, třeba C#, jen vymyslíte kompilátor. To také Microsoft hodně dělá v každé další verzi. Bohužel, nebo bohudík, jak kdy není C# tak flexibilní jako Lisp, ale zato se v tom dá rozumněji programovat.
Mimochodem, flexibilita Microsoftí .NET virtuální mašiny je taková, že nad ní běží kromě C# i C++ :-) Microsoft deklaruje jako nejefektivnější a nejrychlejší jazyk pro .NET C++. :-) A jedině C++ Vám opravdu umožňuje využít vše možností Windows i .NET opravdu do poslední kapky. Druhá možnost samozřejmě je programovat přímo v IL assembleru, ale to je docela nepříjemné, protože přijdete o spoustu toho syntaktického cukru.
Nevím, jestli jsem odpověděl na Vaší otázku, snad ano.
Vše je řečeno na www.fuxoft.cz
Přečteno 93 714×
Přečteno 85 433×
Přečteno 42 965×
Přečteno 42 426×
Přečteno 38 175×