¿En qué Áreas es Rust más Seguro que Zig?

Si has seguido la filosofía detrás de Zig por algún tiempo, sabrás que Zig nació con la idea de corregir o mejorar aspectos que causan problemas a desarrolladores del lenguaje C. Similarmente, se podría decir que Rust es un paralelo, pero para quienes programan en C++. En esta entrada veremos algunas áreas en las que Rust ofrece más garantías de seguridad comparado a Zig. Ojo, no significa que Rust sea superior por este hecho, simplemente ofrece diferentes concesiones en comparación. Como siempre, depende del caso de uso. ...

November 22, 2024 · 3 min · 480 words · Diego Velásquez

Funcionamento de Defer en Zig

El concepto detrás de defer en Zig es muy sencillo: una instrucción precedida por esta palabra siempre será ejecutada al final del bloque de contexto actual. ¿Por qué alguien querría hacer eso? Lo veremos a continuación. Caso de uso Limpieza de un asignador de memoria Recordemos este pasaje en nuestra entrada sobre un Arraylist en Zig: El ArrayList acepta un Tipo (T), i32 en nuestro ejemplo, como argumento y la gestión de memoria ocurre de forma automática durante el ciclo de vida del mismo. Sin embargo, la inicialización y destrucción del vector debe hacerse explicitamente: ...

October 28, 2024 · 3 min · 429 words · Diego Velásquez

Funcionamiento de un Arraylist en Zig

En la biblioteca estándar de Zig, un ArrayList es la implementación oficial de un vector dinámico. Un vector dinámico es una estructura de datos que permite almacenar una lista de elementos y se puede redimensionar sin hacer la gestión de memoria correspondiente manualmente. El caso de uso principal para un vector dinámico es la necesidad de almacenar una cantidad indeterminada de elementos. Si la cantidad de elementos a almacenar se conoce previamente, un vector estático es más apropiado. ...

October 14, 2024 · 2 min · 306 words · Diego Velásquez