Every language would do us (programmers) a great favor by having a page titled "Pro & Cons" or even "When to use X / When not to use X", and could include comparing other languages as well. Maybe it's hard to sell your language if you have to include cons/when not to use X as well, but it'll help gain trust for sure.
In the case of Hare, it doesn't seem to be good if you want to be able to have anything running on Windows/macOS, as one stated goal is "Hare does not, and will not, support any proprietary operating systems" according to https://harelang.org/platforms/, which makes it very unattractive for me at least, as I move across three platforms daily.
In Hare's defense, not every programming language needs to target every runtime/OS/environment.
JavaScript only targets the browser. Shaders usually targets one graphic runtime. Maybe there is a space for a language that just targets a few OSes, or even just one? Remember that both C# and Swift initially just targeted one platform, so maybe it does makes sense to now have one OSS language for OSS nerds.
While that was true for years, Node.js has made JavaScript viable on the server for quite a while. But I agree with your overall point. I think JS and C# are good examples of languages that were seen as valuable enough to start using in other environments. I love C#.
Well, naturally, with people who use the other one: Arduino. I mean FreeBSD. Or maybe FreeRTOS? Wait, Android. Or NetBSD. Or Wasm. Or JS. Or the JVM. Or the .NET CIL. Or ReactOS. Or SerenityOS. Or FreeDOS. Or Illumos. Or OpenSolaris, heh.
Or just regular old GNU/Linux like 70% of the Web. But either Android installs or FreeRTOS installs easily outnumber those.
I really want to avoid measuring Hare up against other languages. I think it stands on its own merits, and would prefer that people evaluate it in earnest rather than compare bullet points with another language. Nevertheless, there does exist a (dated) comparison with C:
If you want people to evaluate it on its own merits, then make those merits stand out. As it stands, your intro paragraph ("Hare is a systems programming language...") is so generic that it doesn't tell me why I might want to use it instead of C or Zig or assembly. Where does it excel? What makes it stand out? Bullet points help me quickly decide whether I want to spend time evaluating a language.
> I think it stands on its own merits, and would prefer that people evaluate it in earnest rather than compare bullet points with another language.
I’m definitely not looking for bullet point comparisons.
Rather, I’m looking for an example of implementing some concrete functionality in both Hare and — say — C, which highlights the advantages of Hare over C in implementing this specific functionality.
Time has value. If the prospect isn't clear, the tradeoff of time to investigate is a waste. People are risk averse and want to understand the benefits the language was designed for relative to competing languages.
The sibling comment already says most of it, but the non-presence of a succinct comparison table is IMO a signal in itself that the language/project is a toy and not ready to be considered for production use.
I'm not sure I've seen such a thing for most languages, but maybe I'm used to just reading what a lang is about and mentally slotting it for certain things by myself. I bucket things by static/dynamic types, dominant paradigm, syntax style, GC/no GC, and stated goals, which include what it was designed for. Most of those are easy to discover.
Oh absolutely, and that makes sense if the language is being pitched to individuals. But as soon as you want to convince your boss to let you use it for a project, that executive summary level info is essential. They (rightfully) do not have the time to infer it or "play around", they need a clear "it's X but better because Y, Z."
No languages provide any such comparison that I'm aware of. Rust does not, Zig does not, C and C++ do not, JavaScript does not. Are all of these languages toys?
Ha, good call. IMO C, C++, and JavaScript are all kind of in that special case basket where there were significant domains in which you had to use them (JS for the browser, C for unistd.h, C++ for the Win32 API), so they didn't really have to compete with anything for long enough to become entrenched.
Zig, though, does very clearly lay out its pitch right on the homepage, and although it's maybe not a table of checkmarks, it's a series of pretty clear shots-across-the-bow at other languages, in particular C and C++.
Rust similarly has a "Why Rust" block above the fold on its homepage; it's not quite as terse as the Zig one, but it's clearly that same executive-level pitch.
Hare's homepage has: "Hare is a systems programming language designed to be simple, stable, and robust. Hare uses a static type system, manual memory management, and a minimal runtime. It is well-suited to writing operating systems, system tools, compilers, networking software, and other low-level, high performance tasks."
Maybe there's a case to be made here that these bald assertions are no different than what Zig and Rust claim about themselves. But I also think it's reasonable to have different expectations around this for a brand new project vs ones with years of track record and existing mindshare.
There's dozens of languages out there I haven't programmed in. If I were going to learn a new one, I'd have to base that decision on something beyond just vibes.
In the case of Hare, it doesn't seem to be good if you want to be able to have anything running on Windows/macOS, as one stated goal is "Hare does not, and will not, support any proprietary operating systems" according to https://harelang.org/platforms/, which makes it very unattractive for me at least, as I move across three platforms daily.