5 ms·
Nowhere does it call out Rust by name. Go / Zig / Pony / Haskell are all valid contenders.
by divs1210 6y ago
Nowhere does it call out Rust by name.
Go / Zig / Pony / Haskell are all valid contenders.
- jedisct1 6y agoThis.
- tptacek 6y agoNot really, no: * Languages with significant runtimes are going to be rejected by project maintainers; nobody is going to rube-goldberg a GC into an existing project just to replace a risky component when the option not to do that exists. * Languages with insignificant adoption are going to be rejected by project maintainers because why take a flyer on an unknown quantity (not just technically but in terms of where the community will be 5 years from now) on a project you've been maintaining for decades? Say what you will about the Rust community and its long-term financial viability but the industry is pretty much already committed to it. I'm fine with Rust but, like, not it's biggest fan (strongly prefer Go) but Rust pretty clearly hits the sweet spot being targeted here. I think you can assume safely that most of this work will be done in Rust.
- pjmlp 6y agoF-Secure has decided otherwise for bare metal secure firmware.
- the_duke 6y agoGo, Pony and Haskell all have complex runtimes and a GC, which makes them unsuitable for embedding into other applications or exposing them as widely usable libraries. Rust, Zig, and to a certain extent D or Nim without GC, can easily expose a C API and have a minimal runtime. But the others do not provide the same guarantees as (safe) Rust with the borrow checker. All very cool languages in their own right, but memory safety in a no-GC environment is not one of their defining attributes. Note: a dependency on any of those compilers is still far from trivial for many projects.
- nimmer 6y agoNim is not using GC anymore [1], is memory safe and support formal methods [2] It's also introducing isolation [3] to provide safe multithreading similar to Rust's sendable. [1] https://nim-lang.org/blog/2020/10/15/introduction-to-arc-orc-in-nim.html https://nim-lang.org/blog/2020/10/15/introduction-to-arc-orc... [2] https://nim-lang.org/docs/drnim.html https://nim-lang.org/docs/drnim.html [3] https://github.com/nim-lang/RFCs/issues/244 https://github.com/nim-lang/RFCs/issues/244
- floatboth 6y agoFrom [1]: > ORC is Nim’s all-new cycle collector based on ARC. It can be considered a full-blown GC since it includes a local tracing phase (contrary to most other tracing GCs which do global tracing). ORC is what you should use when working with Nim’s async because it contains cycles that need to be dealt with. Sooooo unless you > disable the GC and do manual memory management, but then you lose access to most of the stdlib you still have to run a memory-managing runtime
- whateveracct 6y agoi just write all my projects in Haskell on any platform so the RTS is a given (or the RTS isn't present at execution time since the executable is generated from a Haskell eDSL) it's truly superior to any other programming language (5+ years of pro experience talking), so why waste my time with the manual labor of imperative programming?
- simias 6y agoIIRC Zig isn't memory safe though, is it? If not it seems like a bad choice if the explicit purpose is to mitigate memory safety issues...
- Zababa 6y agoI think this is the issue tracking memory safety in Zig: https://github.com/ziglang/zig/issues/2301 https://github.com/ziglang/zig/issues/2301
- paavohtl 6y agoHas any language successfully added memory safety as a "feature" after the initial release? To me memory safety seems like a fundamental aspect of a language that is very hard if not impossible to change afterwards, without so many breaking changes that you essentially in the end have created a new programming language.
- benibela 6y agoOr Ada or Wuffs But I have always used Pascal for that. It has memory safe strings and arrays with refcounting, so long as one avoids using other features like pointers, classes, inline assembly, it is perfect.
- nerdponx 6y agoWuffs? Never heard of that one before. Edit: here's the link, interesting idea. https://github.com/google/wuffs https://github.com/google/wuffs
- benibela 6y agoAnd it is supposed to be safer than a language that is only memory-safe The memory-safe languages can still panic or have integer overflows, Wuffs should prevent even that
- nerdponx 6y agoI suppose D would also fall into this category. Although I find it interesting that Common Lisp gets left off these lists. It's memory-safe (with GC of course), has great integration with existing C libraries via CFFI, has a formal spec, has a solid library ecosystem, supports a "mostly-functional-but-imperative-if-you-need-it" programming style, has optional/gradual compile-time type checking, and at least one open/libre implementation generates fast native code (SBCL). Might as well throw OCaml in the mix too, since it has all of the above minus the formal spec.
- MaxBarraclough 6y agoPony isn't that well known, here's their home page, for the curious. [0] I remember a recent HN comment said that if you create a website for your new programming language, you should always ensure there's a meaningful example right there on the landing page. A pity that Pony's page fails to do this. Here's one of their example programs. [1] [0] https://www.ponylang.io/ https://www.ponylang.io/ [1] https://github.com/ponylang/ponyc/blob/main/examples/timers/timers.pony https://github.com/ponylang/ponyc/blob/main/examples/timers/...
- nerdponx 6y agoAlso, to my recollection Pony is meant to be somewhat specialized for high-concurrency server applications, not for general-purpose tools/libraries. It seems like it's best grouped together with Go, Erlang, Elixir, and Crystal.
- KenanSulayman 6y ago> The new Rust-based HTTP and TLS backends for curl and now this new TLS library for Apache httpd are an important starting point in this overall effort.