Hacker News new | ask | show | jobs
by dijit 957 days ago
new systems languages are much more rare than new scripting languages, and the focus on usability of the surrounding toolchain makes it a particular darling for anyone who touches it.

The other arguments (memory safety et al.) are sort of on the side imo; I really enjoy writing, reading and running rust because the developer experience is just so solid.

When I say "developer experience" I mean the crates system and cargo, not necessarily the language itself (which I find a bit ugly to be frank).

1 comments

> new systems languages are much more rare than new scripting languages

No, and have never been. C and later C++ are (were) just _that_ prominent, that most people never heard of the alternatives (except for Pascal and/or ADA, Objective-C and maybe D).

Nowadays there is Zig (most people have heard about that, I guess), Carbon, Cppfront, Odin, Jai, Vale, Austral (and some more I've forgotten about).

For your 7 systems languages I can name 150 new scripting languages.

Objective-C requires a runtime, it's not a systems language because of that, I think Pascal is also requiring a runtime but that's not important right now.

D is a great example, I tried very hard to make D work and it just didn't.

I was even trying to use D-Langs own mailing list frontend (written in D) and it was nearly impossible for an outsider.

Contrast that to Rust, and aside from picking the right toolchain (nightly or stable); "cargo build" after following the quickstart on the internet will build practically all rust projects. With the minor caveat that if there are any bindings to system libraries then you need those too (libssl-dev for debian being a common requirement for openssl-sys for example).

> For your 7 systems languages I can name 150 new scripting languages.

Please don't take that as an offence, but please name at least 5 or 10 (which aren't "just" compiled to JS, I've actually forgotten about them ;). I've only heard about Elixir and Verse (yes, because of SPJ) which actually are somewhat used "in the wild".

But my point is exactly that Rust _is_ really an outsider by being significantly better than the (many or not so many does not matter that much ;) alternatives to C++.

I can't name 150, but since C++ was released in the 80's there has been: JavaScript itself, Java, C#, PHP, Python, Ruby, Go, Swift, Kotlin, and many other very popular languages in the "higher level programming languages" category. And only really Rust has reached a comparable level of popularity in the "systems level language" category (with perhaps D and Zig in the next "tier").
Category systems programming.

Cedar, Ada, Modula-2, Modula-2+, Modula-3, Oberon, Oberon-2, Component Pascal, Object Pascal, Turbo Pascal, Delphi, Active Oberon, OCaml, Objective-C, Oberon-07

A lot of those are even older than C++. And of your list, only Objective-C has seen adoption on the scale of Rust, and it both predates C++ and requires a much heavier runtime than C/C++/Rust.
I mean, from the top of my head; Crystal, V-Lang, Hack (based on PHP), Futhark, Raku & Mojo
Crystal, V-Lang, Futhark, Mojo are also targeted to the C and C++ space, and aren't scripting languages.
For a very long time there has been no viable alternative in the strictly-no-GC space. Every new systems-adjacent language concluded "GC is fine for 99% of programs" (which is true), and then excluded themselves from the no-GC niche. Rust almost did the same thing — early design assumed per-thread GC.
People make new interpreters/ managed languages all the time, it's not even close.
Yes (even I did and do), but I thought we were talking about languages that are actually used by more than 10 users.
Lots of languages, like Python, started off as random toy projects.