Se ha lanzado Hare, un nuevo lenguaje de programación de sistemas, que compara el lenguaje C

El desarrollador Drew DeVault ha anunciado Hare , un nuevo lenguaje de programación de sistemas . Desarrollado durante casi dos años y medio, Hare utiliza un sistema de tipo estático, administración de memoria manual y un tiempo de ejecución mínimo, lo que lo hace ideal para escribir sistemas operativos, herramientas del sistema, compiladores y otras tareas de bajo nivel y alto rendimiento.

Según Drew DeVault, Hare es más similar a C, y casi todos los programas escritos en C también pueden escribirse en Hare, pero Hare es más simple que C.

Hola mundo de liebre 

use fmt;

export fn main() void = {
	const greetings = [
		"Hello, world!",
		"¡Hola Mundo!",
		"Γειά σου Κόσμε!",
		"Привет, мир!",
		"こんにちは世界!",
	];
	for (let i = 0z; i < len(greetings); i += 1) {
		fmt::println(greetings[i])!;
	};
};

Hare calcula su propio hash SHA-256:

use crypto::sha256;
use encoding::hex;
use fmt;
use hash;
use io;
use os;

export fn main() void = {
	const hash = sha256::sha256();
	const file = os::open("main.ha")!;
	defer io::close(file);
	io::copy(&hash, file)!;

	let sum: [sha256::SIZE]u8 = [0...];
	hash::sum(&hash, sum);
	hex::encode(os::stdout, sum)!;
	fmt::println()!;
};

Hare se basa en el backend del compilador qbe y proporciona un buen rendimiento en un espacio reducido.

Estado de liebre

Ya existen muchos programas basados ​​en el lenguaje de programación Hare, como

  • Himitsu  : Herramienta de gestión de claves y almacenamiento de contraseñas. Almacena claves como pares clave/valor y permite almacenar información adicional como nombre de usuario, host y protocolo.
  • Helios  : Microkernel para sistemas x86_64.
  • cuadro  : herramienta de cifrado CLI simple
  • btqd  : demonio bittorrent
  • hare-libui :  enlaces libui  para GUI simple 

Los enlaces OpenGL de Hare están en proceso y actualmente están disponibles para varios juegos pequeños, como Tetris:

Trazador de rayos simple escrito en liebre :

La biblioteca estándar de Hare contiene los siguientes componentes estándar, que brindan soporte para muchos casos de uso sin ninguna dependencia.

  • paquete de criptografía
  • Soporte de red
  • Manipulación integral de fecha/hora
  • E/S y abstracción del sistema de archivos
  • Primitivos de Unix como sondeo, fnmatch y glob
  • Expresiones regulares extendidas POSIX
  • Hare analizador y verificador de tipos

La biblioteca estándar libera a Hare del legado de POSIX y libc, y los programas de Hare no están vinculados con libc de manera predeterminada.

Liebre futuro

Hare se encuentra actualmente en un desarrollo conservador. La mayor tarea de la biblioteca estándar es completar la implementación de la criptografía. El objetivo principal es admitir TLS ( Seguridad de la capa de transporte ) 1.2 y TLS 1.3. Una vez en la versión 1.0, Hare finalizará la especificación del idioma, congelará el diseño del idioma y solo realizará cambios compatibles con versiones anteriores en la biblioteca estándar.

Además, Hare actualmente solo admite tres arquitecturas : x86_64, aarch64 y riscv64, y en el futuro se agregará gradualmente soporte para plataformas de 32 bits y otras arquitecturas. En términos de sistema operativo, Hare actualmente  solo es compatible con Linux y FreeBSD , y planea realizar más adaptaciones en el futuro.

No tenemos intención de admitir plataformas que no sean libres, pero dado que el lenguaje está estandarizado, las implementaciones o bifurcaciones de terceros pueden desarrollar fácilmente la compatibilidad con Windows o macOS si es necesario.

Puede encontrar más información sobre los planes de Hare en la hoja de ruta.

Liebre enlaces relacionados

Inicio  | Descargar  | Guía de instalación | Documentación | Tutorial  | Hoja de ruta | Comunidad  | Acuerdo de colaborador

Supongo que te gusta

Origin www.oschina.net/news/193050/hare-new-system-programming-language
Recomendado
Clasificación