You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Hare (programming language)

From EverybodyWiki Bios & Wiki

Hare
Designed byDrew DeVault
Stable release
0.24.2 / 2024-7-14
Typing disciplineStatic, strong, inferred, structural
Platformx86-64, ARM64, riscv64
OSCross-platform: Linux, FreeBSD, NetBSD. OpenBSD
(Unofficially: MacOS)
Filename extensions.ha
Websiteharelang.org
Influenced by
C, C++, Go, Rust, Zig

Search Hare (programming language) on Amazon.

Hare is an imperative, statically typed system programming language created by Drew DeVault.[1]

The language began development in December 2019 and was initially released on April 25, 2022.[2] Hare aims to be a lightweight, type safe, and intuitive alternative to C.[3]

Goals[edit]

The goals of Hare's design are:

  • To create a "conservative" successor to C, offering polish with minimal bloat.[2]
  • The ability for any single programmer to fully understand the Hare toolchain.[4]

Not a C replacement[edit]

According to its creator, Hare does not intend to replace C in all its areas of application:

"Hare is not a “kitchen sink” language: Hare does not attempt to solve every problem, but it does strive to solve the problems we’re interested in well."

[...]

"Hare aims to be successful within its niche for the programmers that find its ideas compelling, and nothing further. [...] I was pretty frustrated to see the “Hare is a C replacement” mantra repeated in the media despite issuing no such claims."

– Drew DeVault, on the goals of the Hare programming language[4]

Hare gears itself towards an audience which shares its creators' philosophy of hygienic programming.

Description[edit]

Hare is intended to offer an alternative workflow for C programmers. It is designed for low-level systems programming, marketing itself as simple, stable and robust.[5][6] The language features a static, inferred type system as well as manual memory management.[4][7] Hare's innovations upon C include full UTF-8 support, a tagged union based error handling system[8] and a context-free interpreter.[7] The language emphasises broad applicability and portability.[9]

Hare runs on Linux, as well as all BSD operating systems.[10]

A lightweight language[edit]

The Hare compiler is lightweight, with the language as a whole geared towards portability, requiring only 1.4MB of storage.[5] Hare utilises the QBE compiler tool, unlike many modern programming languages which utilise LLVM.[4][11] It also aims to minimise reliance on external dependencies.[1][6]

Drawbacks[edit]

The language lacks many features present in other C alternatives the likes of Zig or Rust, such as code evaluation at compile-time.[citation needed] Hare also does not, nor does it plan to in the future, natively support functionality on proprietary operating systems such as MacOS and Microsoft Windows, though there exist third-party dependencies that provide such support.[4]

The most widely criticised aspect of Hare is its complete lack of generics, requiring developers to implement their own basic data structures, such as the hash table.[12]

Examples[edit]

Multilingual HelloWorld[edit]

This example demonstrates the high-level nature of Hare's syntax and its inferred type system.

use fmt;

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

→ The official Hare website offers a short tutorial course.

See also[edit]

References[edit]

  1. 1.0 1.1 Kaur, Japsimran. "Hare programming language - A new addition to computer languages". Tech Gig. Retrieved 2024-07-18.
  2. 2.0 2.1 "Announcing the Hare programming language". harelang.org. Retrieved 2024-07-07.
  3. "The Hare Programming Language". vladh.net. 2022-04-24. Retrieved 2024-07-18.
  4. 4.0 4.1 4.2 4.3 4.4 "Frequently asked questions". harelang.org. Retrieved 2024-07-07.
  5. 5.0 5.1 "The Hare programming language". harelang.org. Retrieved 2024-07-18.
  6. 6.0 6.1 Claburn, Thomas (2022-04-26). "Heresy: Hare programming language an alternative to C". The Register. Retrieved 2024-07-18.
  7. 7.0 7.1 "Hare's advances compared to C". harelang.org. Retrieved 2024-07-18.
  8. "Safety features of the Hare programming language". harelang.org. Retrieved 2024-07-19.
  9. Developer Voices (2023-12-06). Will we be writing Hare in 2099? (with Drew DeVault). Retrieved 2024-07-18 – via YouTube.
  10. "Installation guide — Hare documentation". harelang.org. Retrieved 2024-07-18.
  11. "What is LLVM? The power behind Swift, Rust, Clang, and more". InfoWorld. Retrieved 2024-07-18.
  12. Eini, Oren. "Criticizing Hare language approach for generic data structures". Ayende. Retrieved 2024-07-19.

External links[edit]


This article "Hare (programming language)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Hare (programming language). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.