Si Rust es basicamente el reemplazo de C++, Hay algun lenguaje es sea reemplazo de C? Bueno sí hay uno y se llama Zig. Este es un lenguaje de programacion Open Source relativamente nuevo, que permite crear aplicaciones de nivel de sistemas como compiladores, interpretes o game engines, es decir puedes hacer lo mismo que en C. solo que Zig ofrece un manejo más seguro de la memoria, ofrece un lenguaje más sencillo de escribir, y tambien puede interoperar con código de C.
const c = @cImport({
// See https://github.com/ziglang/zig/issues/515
@cDefine("_NO_CRT_STDIO_INLINE", "1");
@cInclude("stdio.h");
});
pub fn main() void {
_ = c.printf("hello\n");
}
Haciendo que Zig sea un lenguaje de nivel más alto que Assembly, pero estando por debajo de C, al permitir ejecutar su código, sin abstraccciones.
Es decir en Zig no hay flujos de control ocultos, no hay asignaciones de memorias ocultas, ni preprocesadores, ni macros, lo que significa que solo el código que escribes es lo unico que hay.
const std = @import("std");
const json = std.json;
const payload =
\\{
\\ "vals": {
\\ "testing": 1,
\\ "production": 42
\\ },
\\ "uptime": 9999
\\}
;
const Config = struct {
vals: struct { testing: u8, production: u8 },
uptime: u64,
};
const config = x: {
var stream = json.TokenStream.init(payload);
const res = json.parse(Config, &stream, .{});
// Assert no error can occur since we are
// parsing this JSON at comptime!
break :x res catch unreachable;
};
pub fn main() !void {
if (config.vals.production > 50) {
@compileError("only up to 50 supported");
}
std.log.info("up={d}", .{config.uptime});
}
Haciendolo un lenguaje para crear programas muy eficientes, inspirado en parte por lenguajes como Rust. Tambien es un lenguaje multiparadigma (procedural, orientado a objetos, funcional, event based), que permite usar tanto tipado dinamico como estatico.
Y aunque parezca que nadie usa este lenguaje proyectos como Bunjs, que es un entorno de ejecucion de Javascript y Typecript, similar a Nodejs o Deno, estan desarrollados encima de este lenguaje, por lo que su uso puede verse incrementado en los siguiente años.