Hacker News new | ask | show | jobs
by pedrolucasp 1501 days ago
Why do you need comparisons. Why can't you just experiment with it and use it if you want to?
4 comments

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.
To make our lives easier. There is only so much time in a day and we would rather spend it well.
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.