Popularne tematy
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Zig naprawdę utrudnia uruchamianie funkcji wirtualnych. Co jest na początku bardzo irytujące.
Nie możesz po prostu stworzyć interfejsu, a następnie zrealizować go w sposób trywialny, jak w Golang lub większości innych języków.
Ale to jest cecha, a nie błąd. Możesz używać funkcji wirtualnych przy użyciu comptime. Ale Zig sprawia, że bardziej oczywiste stają się negatywne kompromisy związane z tym.
Zig sprawia, że pisanie prostszego kodu, który nie używa funkcji wirtualnych, jest twoją domyślną ścieżką, a w rezultacie kończysz używając interfejsów i funkcji wirtualnych tylko wtedy, gdy jest to niezwykle istotne i warte wysiłku.
Okazuje się, że w wielu przypadkach prawie nigdy nie potrzebujesz interfejsów.
Zapomniałem wspomnieć, że się zgadzam, nawiasem mówiąc. To bardziej jak srebrna podszewka, która sprawiła, że przeszło z "wtf" do "właściwie to interesujący sposób myślenia, aby zniechęcić do tej abstrakcji".
Trochę jak brak enumów w Go lub kontroler pożyczek w Rust. Albo języki obiektowe. Ogólnie rzecz biorąc, nie lubię tych rzeczy, ale jakoś nauczyłem się czegoś, przyjmując perspektywę języka.
@norswap Przy okazji zauważyłem, że mój post nie wspomina o tym, że ogólnie chcę interfejsy.
Mówię tylko o pozytywnym aspekcie, ale moim zdaniem interfejsy to miejsce, gdzie zig nieukryty przepływ kontroli idzie o krok za daleko.
802
Najlepsze
Ranking
Ulubione