Zig hace que sea realmente difícil ejecutar una función virtual. Lo cual es súper molesto al principio No puede simplemente hacer una interfaz y luego hacer una implementación trivial como podría hacerlo en Golang o en la mayoría de los otros lenguajes Pero esta es una característica, no un error. Puede hacer funciones virtuales usando comptime. Pero zig hace que sea más obvio que hay compensaciones negativas en esto. Zig hace que escribir código más simple que no use funciones virtuales sea su camino feliz predeterminado y, como resultado, termina usando interfaces y funciones virtuales solo cuando hacerlo es extremadamente impactante y vale la pena el esfuerzo. Resulta que casi nunca necesitas interfaces en una gran cantidad de código
Olvidé mencionar que estoy de acuerdo, por cierto. Esto es más como el lado positivo que lo hizo pasar de "wtf" a "en realidad es una mentalidad interesante para desalentar esa abstracción" Algo así como la falta de enumeraciones en go o el verificador de préstamos en óxido. O oo idiomas. En general, no me gustan esas cosas, pero aprendí algo adoptando la perspectiva del punto de vista del lenguaje
@norswap Por cierto, me doy cuenta de cómo mi publicación no menciona que, en general, quiero interfaces. Solo estoy hablando del lado positivo aquí, pero en mi opinión, las interfaces son donde el flujo de control oculto va 1 paso demasiado lejos
793