Odpovídáte na názor k článku Systém maker v programovacím jazyku C3. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
Takhle obecný popis ale nestačí pro rozhodnutí, co s tím rozhraním má smysl dělat.
Nie som si istý, či s tým súhlasia autori špecifikácie C#, keď do nej tie implementačné detaily nedali. :-)
Rozhraní v jiných jazycích mají diametrálně odlišné vlastnosti a podle toho se taky používají odlišnými způsoby. Rozhodně netvrdím, že jeden druh je správný nebo lepší.
Ale stále sú to rozhrania v zmysle definície toho konceptu. Že sú v rámci jednotlivých jazykov a behových prostredí implementované inak je predsa samozrejmé. Musím trvať na tom, že je to implementačný detail. Závislý na prostredí.
Jestli by měla instance prázdného listu desítky nebo stovky bytů není zanedbatelný implementační detail.
V ktorom konkrétnom jazyku to tak je? Alebo naozaj chcete diskutovať o hypotetickom jazyku a ešte k tomu zle navrhnutom? Z akého dôvodu by tam vôbec mali byť desiatky alebo stovky bajtov? Márne hľadám nejaký racionálny dôvod.
že pokud chci standardní kontejnery, tak musím optimalizovat pro mračna maličkých rozhraní
Lenže to nie je vlastnosť jazyka, ale behového prostredia, ktoré bolo navrhnuté aj s cieľom vzájomne použiteľných binárnych komponentov písaných v rôznych jazykoch.
Inak teraz vôbec nechápem, čo ste chceli odpoveďou na môj pôvodný príspevok vlastne povedať? Že rozhrania pre jazyk, ktorý je schopný bežať na holom železe sú implementované inak ako rozhrania jazyku, ktorý beží na spravovanom virtuálnom stroji? No áno, ale je to nutné písať?
C++ je veľmi flexibilný jazyk a pokiaľ niekto chce, môže si implementovať rozhrania na ľubovoľný spôsob. Vlastné tabuľky ukazovateľov na virtuálne funkcie nie sú vôbec výnimočné. Videl som aj implementáciu traitov na spôsob Rustu. Navyše s nástupom statickej reflexie v C++26 sa možnosti nielen v tejto oblasti otvoria ešte viac.
Tak ma napadá, v čom je vlastne implementovaný CLR? Nie je náhodou to, čo umožňuje to, o čom píšete, napísané v C++? C++ bol primárnym jazykom pre COM, .Net je duchovným pokračovateľom technológií z rodiny COM a Don Box, meno známe minimálne od prelomu tisícročí, jedna z hlavných osobností COM aj .Net vraj povedal, že .Net je tým, čím si COM prial byť, keď vyrastie.
Nezdá sa vám byť pravdepodobné, že keď je v C++ možné napísať behové prostredie pre celú rodinu jazykov, vrátane rozhraní s vlastnosťami, ktoré spomínate, že je možné napísať rovnaké rozhrania aj pre samotné C++, keby o to náhodou niekto stál?