Zig opravdu ztěžuje spuštění virtuální funkce. Což je zpočátku velmi otravné Nemůžete jen tak vytvořit rozhraní a pak vytvořit implementaci triviálně, jako byste to mohli v Golangu nebo ve většině ostatních jazyků Ale to je funkce, ne chyba. Pomocí comptime můžete provádět virtuální funkce. Ale cik dává jasně najevo, že to má negativní kompromisy. Zig dělá z psaní jednoduššího kódu, který nepoužívá virtuální funkce, vaši výchozí šťastnou cestu a v důsledku toho skončíte s používáním rozhraní a virtuálních funkcí pouze tehdy, když je to extrémně působivé a stojí to za námahu. Ukázalo se, že téměř nikdy nepotřebujete rozhraní ve velkém množství kódu
Zapomněl jsem zmínit, že souhlasím btw. To je spíše jako dobrá zpráva, která to přiměla přejít od "wtf" k "ve skutečnosti je to zajímavý způsob myšlení, který odradí od této abstrakce" Něco jako nedostatek výčtů v go nebo kontrola půjčování v rezi. Nebo oo jazyky. Celkově se mi tyhle věci nelíbí, ale něco jsem se naučil přijetím jazykové perspektivy
@norswap Mimochodem, uvědomuji si, jak můj příspěvek nezmiňuje, že celkově chci rozhraní. Mluvím zde pouze o dobré stránce, ale imo rozhraní jsou tam, kde žádný skrytý ovládací tok nezachází o 1 krok příliš daleko
787