Re:Orphaning bcachefs-tools in Debian
by 1oooqooq on Saturday August 31, 2024 @08:28AM
(#41408394)
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.
[ Parent
| on HN ]
What makes a system engineering language "proper"? And what languages besides C fulfill those criteria?
Re:Orphaning bcachefs-tools in Debian
by pessimizer on Saturday August 31, 2024 @11:19AM
(#41409493)
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.
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.
those are userland system applications at most... which i grant is also what the original article talked about, but still.
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)
Re:Orphaning bcachefs-tools in Debian
by neonsunset on Saturday August 31, 2024 @04:42PM
(#41411796)
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.