6 ms·
Part of me loves the advent of so many zero-cost-abstraction languages. The other part wishes the systems programmers would pick a winner already so that the al
by kubota 3y ago
Part of me loves the advent of so many zero-cost-abstraction languages. The other part wishes the systems programmers would pick a winner already so that the already small community of systems programmers do not end up multifurcated into even smaller communities of Rust, Zig, Val, etc developers. I hope the systems language wars end soon in other words.
- eska 3y agoMaybe we picked one too early and didn’t have enough innovation in this area for too long. Bring the war :)
- djbusby 3y agoNot even a war, right tools for the job. I don't think it's possible for one language to rule them all. Options are good.
- packetlost 3y agoI like Rust, but damn is it complicated and very heavy. I really just want C with namespaces, actual enums (tagged unions are a bonus), a "modern" type system, and proper package management. They all have their place, IMO it's not that hard to switch between languages.
- skywal_l 3y agohttps://ziglang.org/ https://ziglang.org/ ?
- pjmlp 3y agoYou're in luck, C++ covers that.
- csjh 3y agoC++ has proper package management?
- pjmlp 3y agovcpkg and conan nowadays. Not using one of them is making oneselfs live difficult on purpose.
- dgb23 3y agoI think when someone says „I want a C that’s cleaner and has some simple, generally loved features“ they don’t think of C++?
- pjmlp 3y agoProbably not, but they should. C already felt primitive in the mid-1990's, and by C++98 most of those features were available. So they can use C++ for those fixes, with its JavaScript/TypeScript kind of symbiotic relationship for better or worse, or stick to C and keep waiting for such language, that will most likely require parsing include files with some kind of tooling.
- packetlost 3y agoI didn't mention, but minimal is something I desire in a language too. Honestly, C++ is such a "design by committee" kitchen sink language that I have no interest in ever touching it. Yes, you can restrict yourself to a subset of the language, but then every time you need a library, or need to find some info on how to do something on SO or whatever, you have to deal with the rest of the language. You cannot simply ignore it because everyone else won't.
- pjmlp 3y agoThere is also a bit of committee on everything WG14 does since C89.
- chrisco255 3y agoWon't happen. But all the more reason to expand wasm + wasi support everywhere.
- jjtheblunt 3y agoAre those languages able to do low-level hardware things?
- deleted 3y ago[deleted]
- tracker1 3y agoNot really, unless some future hardware supports such a beast, could be an interesting approach for AI/WebGPU interfaces. It's more for service-oriented applications currently... you pass stuff in, get stuff out.
- chrisco255 3y agoWasm is WebAssembly, which has a nice compact set of instructions to compile to and network effects from being the 4th language of the web to ensure its staying power. WASI is a WASM system interface for connecting with hardware and other systems: https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webas...
- anyfoo 3y agoIt rather looks like WASI interfaces to code which is written in one of the other system programming languages that are the topic in this thread, so I guess the answer to the parent commenter's question is "no"? Am I misinterpreting this?
- chrisco255 3y agoIf you want to be pedantic, sure. The point is whether those interfaces are written in C or Go or Rust that they are interoperable, and a dev can write their core logic with a wasm compilation target in Zig, Val, or whatever other language comes up. Hardware and OS devs can write WASI modules in whatever language they prefer so that others can consume.
- VWWHFSfQ 3y agoI think at this point Rust is the winner just because it's already overcome the incredible hurdles of being shipped in the Linux and Windows kernels themselves. In that regard, I doubt there's room for any more of these new systems languages now.
- bsaul 3y agoI have the intuition that rust can’t possibly be the winner, it really feels too crude regarding the way it manages lifetimes. It really feels like the clumsy grandparent of the language that will indeed solve those problems elegantly.
- germandiago 3y agoSame opinion here. Let us look at Val and Vale. There is also Carbon and CppFront but those are more of C++ evolution than new-born things.
- lolinder 3y agoBut we made do with C for how many years? OP's question isn't whether Rust is as good as systems languages will get, the question is whether any successor language stands a chance of being included in the kernels. The bad ergonomics of C were never enough to get another language into the Linux kernel, it took a language that solves the number one class of security bugs. It's unclear that any successor to Rust will be able to show as clear a need.
- xwowsersx 3y agoThat's not how I read OP's question. OP was wondering whether a lang besides Rust can be "the winner" (unqualified) given that Rust has already passed the hurdle of being included in the kernel. It didn't sound like at all like their question was limited to whether there's room for another lang in the kernel.
- kjs3 3y agoBut we made do with C for how many years? K&R C was, what, 1972...and it's 2023 now. So that's 51 years with no definitive end of 'making do' in sight.