Zig (lenguaje de programación)
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 9 de junio de 2021; las comprobaciones requieren
4 ediciones .
Zigzag |
---|
|
clase de idioma |
lenguaje de programación , lenguaje de programación imperativo , lenguaje de programación de propósito general [d] , lenguaje de programación compilado , lenguaje de programación de sistemas [d] , lenguaje de programación multiparadigma , lenguaje de programación procedimental y lenguaje de programación funcional |
tipo de ejecución |
compilado |
Apareció en |
2015 [1] |
Autor |
andres kelley |
Desarrollador |
andres kelley |
extensión de archivo |
.zig |
Liberar |
0.9.1 (14 de febrero de 2022 ) ( 2022-02-14 ) |
sistema de tipos |
estático, estricto |
sido influenciado |
C , C++ , Go , Rust y JavaScript |
Licencia |
MIT |
Sitio web |
ziglang.org |
Archivos multimedia en Wikimedia Commons |
Zig es un lenguaje de programación imperativo , tipificado estáticamente , compilado y de propósito general [2] [3] . El lenguaje fue diseñado para crear software de " robustez, optimización y mantenibilidad " [4] [5] . El lenguaje admite programación genérica y reflexión en tiempo de compilación , compilación cruzada y administración de memoria manual [6] . El objetivo principal del lenguaje es competir con (y mejorar) C [7] [8] , mientras que al mismo tiempo toma prestadas algunas ideas de Rust [9] .
El lenguaje tiene muchas características para la programación de bajo nivel , especialmente: estructuras empaquetadas (estructuras con alineación cero entre campos), tipos enteros de longitud arbitraria (por ejemplo: i7, i8, i63) [10] , varios tipos de punteros [11] .
El compilador está escrito en el propio lenguaje, así como en C++. LLVM 12 [12] se usa como backend del compilador [13] [14] . El compilador tiene la licencia gratuita MIT [14] . El compilador tiene la capacidad de compilar programas C y C++ utilizando los comandos "zig cc" y "zig c++" [15] . El lenguaje de programación Nim admite el uso del compilador Zig como el compilador C.
Ejemplos de código
hola mundo
const std = @import ( "std" );
pub fn principal () ! vacío {
const salida estándar = estándar . yo _ getStdOut (). escritor ();
prueba la salida estándar . print ( "Hola, {}! \n " , .{ "mundo" });
}
fn LinkedList ( tiempo comp T : tipo ) tipo {
estructura de retorno {
pub const Nodo = estructura {
anterior : ?* Nodo ,
siguiente : ?* Nodo ,
datos : T _
};
primero : ?* Nodo ,
último : ?* Nodo ,
len : tamaño de uso ,
};
}
pub fn principal () vacío {
var nodo = LinkedList ( i32 ). nodo {
. anterior = nulo ,
. siguiente = nulo ,
. datos = 1234 ,
};
var list = LinkedList ( i32 ) {
. primero = & nodo ,
. último = & nodo ,
. len = 1 ,
};
}
Notas
- ↑ Kelley A. inicio - 2015.
- ↑ "Zig tiene toda la elegante simplicidad de C, menos todas las formas de pegarte un tiro en el pie " ? . JAXenter (31 de octubre de 2017). Consultado el 20 de septiembre de 2020. Archivado desde el original el 25 de noviembre de 2021. (indefinido)
- ↑ ¿Cansado de C? ¿El nuevo lenguaje de programación Zig pretende ser más pragmático y legible ? . JAXenter (19 de octubre de 2017). Consultado el 20 de septiembre de 2020. Archivado desde el original el 25 de noviembre de 2021. (indefinido)
- ↑ Serdar Yegulalp. Nuevo retador se une a Rust para derrocar al lenguaje C. InfoMundo (29 de agosto de 2016). Consultado el 20 de septiembre de 2020. Archivado desde el original el 25 de noviembre de 2021.
- ↑ IT之 家. tech.sina.com.cn (12 de julio de 2020). Consultado el 20 de septiembre de 2020. Archivado desde el original el 25 de noviembre de 2021. (indefinido)
- ↑ El lenguaje de programación Zig . ziglang.org . Consultado el 21 de septiembre de 2020. Archivado desde el original el 1 de abril de 2022. (indefinido)
- ↑ Observatorio de Mozilla, el lenguaje de programación Zig y el SDK de VR/AR de uSens—Resumen de noticias del SD Times: 1 de agosto de 2018. 29, 2016 (inglés) ? . SD Times (29 de agosto de 2016). Consultado el 21 de septiembre de 2020. Archivado desde el original el 25 de noviembre de 2021. (indefinido)
- ↑ El lenguaje de programación Zig . ziglang.org . Consultado el 21 de septiembre de 2020. Archivado desde el original el 1 de abril de 2022. (indefinido)
- ↑ Unsafe Zig es más seguro que Unsafe Rust - Andrew Kelley . andrewkelley.me . Consultado el 21 de septiembre de 2020. Archivado desde el original el 21 de febrero de 2022. (indefinido)
- ↑ ¿Desea ir a _ExtInt? El compilador LLVM Clang agrega soporte para enteros de ancho personalizado . www.theregister.com . Consultado el 21 de septiembre de 2020. Archivado desde el original el 26 de octubre de 2020.
- ↑ Documentación - El lenguaje de programación Zig . ziglang.org . Consultado el 21 de septiembre de 2020. Archivado desde el original el 31 de marzo de 2022. (indefinido)
- ↑ Resumen de noticias de SD Times: Conceptos de C++20 en Visual Studio 2010 versión 16.3, Bootstrap para eliminar la compatibilidad con IE y lanzamiento de Zig 0.60 . . SD Times (14 de abril de 2020). Consultado el 21 de septiembre de 2020. Archivado desde el original el 25 de noviembre de 2021. (indefinido)
- ↑ ¿Una respuesta a _The Road to Zig 1.0_ ? . www.gingerbill.org (13 de mayo de 2019). Consultado el 21 de septiembre de 2020. Archivado desde el original el 7 de septiembre de 2021. (indefinido)
- ↑ 1 2 ziglang/zig . — 2020-09-21. Archivado desde el original el 30 de marzo de 2022.
- ↑ Notas de la versión 0.6.0 El lenguaje de programación Zig . ziglang.org . Consultado el 21 de septiembre de 2020. Archivado desde el original el 21 de febrero de 2022. (indefinido)
Enlaces