Zig дуже ускладнює запуск віртуальної функції. Що спочатку дуже дратує Ви не можете просто створити інтерфейс, а потім зробити реалізацію банально, як ви могли б це зробити на Golang або більшості інших мов Але це особливість, а не баг. Ви можете виконувати віртуальні функції за допомогою comptime. Але зиг робить більш очевидним, що в цьому є негативні компроміси. Zig робить написання простішого коду, який не використовує віртуальні функції, вашим щасливим шляхом за замовчуванням, і в результаті ви використовуєте інтерфейси та віртуальні функції лише тоді, коли це надзвичайно ефективно та варте зусиль. Виявляється, інтерфейси в великій кількості коду практично ніколи не потрібні
Я забув згадати, що згоден, до речі. Це більше схоже на срібну підкладку, яка змусила його перейти від «wtf» до «насправді це цікавий спосіб мислення, щоб відбити бажання цієї абстракції» Щось на кшталт відсутності переліків у го або запозиченої шашки в іржі. Або оо мови. Мені в цілому ці речі не подобаються, але я дещо навчився, приймаючи мовну точку зору
@norswap До речі, я розумію, дивлячись на те, як у моєму дописі не згадується, що в цілому я хочу інтерфейси. Я говорю тут лише про позитивну сторону, але інтерфейси imo – це місце, де потік zig без прихованого керування заходить на 1 крок занадто далеко
804