Odpověď na názor

Odpovídáte na názor ke článku Potvrzeno: Java bude Open Source!.

  • 14. 11. 2006 18:02

    Miloslav Ponkrác (neregistrovaný)

    [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.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).