Hacker News new | past | comments | ask | show | jobs | submit login

it is rust specific because rust is the first attemp to replace proper system engineering languages with one that while nicer on memory management and overall ergonomics, is worse in tooking. cargo brings many malpractices from java/JavaScript (maven, npm, etc) that were always shunned in systems engineering and, mark my words, will be a security nightmare for linux in the near future.



Go, D, Ocaml, Nim have the same issue, most are older than Rust and are arguably systems languages.

C/C++ built with Bazel or Conan will have the same issue too.


Go would only be comparable if you had hundreds of vendored dependencies but Go's community and culture have encouraged use of the standard library over external dependencies where possible. A core problem with Rust is the lack of an adequate standard library. The problem with Cargo is when you have an application with hundreds of dependencies. That does not exist in any mainstream Go application.

1. Why Rust Libraries May Never Exist - https://www.youtube.com/watch?v=769VqNup21Q

2. The Rust Cargo ecosystem is broken - https://www.youtube.com/watch?v=OdMQwDtumJ8


Having a big standard library doesn't help that much since it needs separate updates. Every other golang app I use requires updated crypto, net, or sync. In theory they come in the standard library, but the moment you need updates, they're exactly the same as other dependencies for packaging purposes. (it's very common, yes I do packaging)


Go is unlike other languages mentioned here (and this arguably applies to OCaml too).

As much as its standard library superficially looks close to C, it is as equally unlike C in its performance and abstraction level. It does not have suitable tools to do systems programming properly and its compiler and interop capabilities are too weak.


those are userland system applications at most... which i grant is also what the original article talked about, but still.


What makes a system engineering language "proper"? And what languages besides C fulfill those criteria?


The grammar might be confusing, but the comment you're replying to clearly considers rust a (new) proper systems language, and nicer in many ways (memory management and overall ergonomics) than C, but with worse (from the perspective of systems programming) tooling.


thanks for making it more succinct. exactly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: