💾 Archived View for bbs.geminispace.org › s › Harelang › 3280 captured on 2023-12-28 at 16:17:29. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-11-14)

➡️ Next capture (2024-02-05)

🚧 View Differences

-=-=-=-=-=-=-

I tried out Hare shortly after it was publicly announced and found it pretty cool then, but haven't gone back to it again until recently. It's got a really minimalist ethos, which I really like.

I did have to patch the port on FreeBSD to get it to work there, but it was a single line added to config.mk. Hopefully the maintainer will act on it quickly. Dr Brian Callahan has it working on OpenBSD as well. It only supports open source operating systems, which I find I like.

Currently working on an archiver implementation that I had floating in my head for a while, which I'm also implementing in Zig and Rust concurrently to see which I like the best. Even though I'm most used to Rust, I'm finding that the Hare implementation is pretty easy to knock together. Might not be as fast, due to the lack of threading in Hare's `std` library, but the code should be a lot smaller and more readable.

Posted in: s/Harelang

🦀 jeang3nie

Jul 19 · 5 months ago · 👍 sugar, gyaradong

7 Comments ↓

🦉 ResetReboot · Aug 19 at 11:20:

After seeing your post and watching the name float around I decided to give it a try, follow the tutorial and I must say... I think it has the potential to beat GoLang and Rust in their own game! With the first being outside certain corp control and also having certain better desing decisions and Rust... well, the syntax of Rust can get... ugly.

Definitely I'm keeping an eye on these folks. I think they have something good coming up.

🦀 jeang3nie · Aug 19 at 16:55:

I've never given Go an honest try to be perfectly honest, largely due to it's affiliation with Google but probably moreso because it relies on garbage collection. That said, I recognize that it's added to the space. I'm pretty sure 'defer' originated there before spreading to zig and others.

I write a lot of Rust though. Agreed that it's syntax takes some adjustment. What I'm coming to realize about Rust though, is that a language like Hare gets you the majority of Rust's advantages just by having strong typing and bounded arrays, at a fraction of the complexity and size. There are definite tradeoffs, but I think that they're smart ones.

🔭 DocEdelgas · Aug 24 at 10:26:

While I have taken an interest in Hare, I have so far failed to see why I should use it over C.

🦀 jeang3nie · Aug 24 at 19:23:

Honestly, in a lot of cases there probably isn't a good reason to do so. Particularly if you're comfortable in C. I do like certain features, and in particular it has actual error handling at the language level, but both are sufficiently minimalist that they're largely interchangeable. Which gives C the edge just based on portability.

Still, I think it's a good design and I'm glad it exists.

🐙 norayr · Nov 09 at 23:46:

i certainly value that today more people are interested in safer languages, and that there are now languages and compilers everybody in the field heard of, that produce fast native code.

at the same time i have some envy (?) towards these newer and more known languages: people spoke about problems of older languages like c before, people designed good and modern and safe languages and not many heard of those till today.

alas i see that people are usually more aware of products that have big forces behind them: rust had mozilla and now many others, go has google behind its back, solaris-java,microsoft-c#, and even python might not be as widespread if redhat didnt choose it for some work.

🐙 norayr · Nov 09 at 23:55:

so we had modula-2, we had modula-3, we had ada, oberon, component pascal (practically an oberon dialect), zonnon, some good pascal dialects.

but not many were even aware of those.

modula-2 was perfect replacement for c - low level, but safer, with modules and concurrency, complex numbers in the language.

modula-3 has features modern programmers often state they need: it has exceptions, oop, parallelism in the language. and it also produces native code, it is safe, there is a good compiler for unix (always has been) and it had a very lightweight but powerful ui toolkit called trestle.

we had modula-2 since late 70ies. ucsd pascal borrowed concept of modules in early 80ies.

🐙 norayr · Nov 10 at 00:01:

but we still have memory related bugs in openssl, modules are just making their way to mainstrean c++ which already made some efforts to fix its problems with precompiled headers before.

so i value those languages and i wouldn't say that go is much better than oberon or modula-3.

i am glad go exists, and to me it is not about google, which doesnt use it much itself, it is more about rob pike: author of many modern innovative tech things including acme text editor inspired of oberon. so if i told someone to try oberon/modula/ada they would thin they never heard about it so they would not try. but they heard about go and learning go doesnt dound very crazy so i tell people to look at go.