na prvi pogled mi se i vrlo dopada i vrlo ne dopada..
npr referenciranje se mora zadati explicitno @operatorom, što je za objekte vrlo kontraintuitivno.. referenciranje se mnogo češće koristi od kloniranja objekta, pa bi operacija referenciranje trebalo da bude bez ikakvih dodatnih sintaxnih parametara, a kloniranje explicitno navedeno..
ako je već hteo da ide na rešavanje c++ problema (object handle umesto pointera), onda je mogao da pojednostavi i (ružnu) sintaxu, a ne da je još zakomplikuje sa @ & i ^.
takođe, String je klasa/objekat, ali mutable (izmenjiv). generalno mi se ne sviđa što je tako osnovni tip objekat (a ne primitiva), ali kada već jeste, trebao bi biti immutable (ili mi je ovo samo navika iz jave?)
generalno, čovek malo preteruje sa meta programiranjem (naročito na poslednjoj stranici gde opisuje buduće namere). izgleda kao da će u okviru Heron jezika izroditi i još jedan meta jezik.. umesto svog tog dupliranja jezičkih konstrukta (i dupliranja jezika), ja bih recimo uveo samo atribut
meta, koji bi označavao compile-time direktivu i jedno
meta if pretvarao u compile time check, nešto kao
#ifdef (po funkcionalnosti, ne bukvalno).
sa druge strane, sviđa mi se što su polja uvek privatna, mada nema propertije, tako da su propustili da još malo pojednostave sintaxu. mislim, iza ove šugave sintaxe
cx.Real() = 3; se praktično krije property..
a ovi delegati (ne c# delegates) su još moćniji nego u delphiju (zbog parametarizovanih tipova i AOPa), a ja sam ih obožavao i u delphiju, tako da.. ;)
ali recimo, nije mi ni jasno zašto jezik nema virtuelne funkcije i protected scope (tj nisam u brzom pregledu našao šta menja te dve stvari po funkcionalnosti). kao izjava da se "ponašanje postojećih funkcija ne može menjati u nasleđenoj klasi" ?!?
i mada znam da se parameterizovanim tipovima dosta uklanja potreba za downcast-ovanjem, nisam siguran da su eleminisane baš sve upotrebe istog, pa mi se ne sviđa što je to zabranjeno..
a konačno da neko shvati da treba da samo izbaciti pointere (kao takve), i uvesti object handles u
kompajlirani jezik
bez sakupljača smeća, eventalno sa reference counting-om.. mada, izgleda da opet moram da igram ulogu delphi zealota, i da kažem "pih.. delphi je taj kompajljirani jezik sa referencama umesto pointera (ima i pointere), bez sakupljača smeća, plus sa (opcionim) reference counting-om".. :-P
i na kraju, ono
end ;) ne da mi štrči u inače C-olikoj sintaxi.. za razliku od delfija (gde je ceo jezik takav) kriminalno mi bode oči.. ;)