5 ms·
Well, every two languages are different, but at least for systems programming, Golang unfortunately started to replace Python, but given how vitally important s
by nikolay 9y ago
Well, every two languages are different, but at least for systems programming, Golang unfortunately started to replace Python, but given how vitally important security is in that domain, Rust makes a lot more sense than Golang, won't you agree?
- steveklabnik 9y agoI don't think "systems programming" is a coherent concept anymore, so I'd reject the premise of the question. Go has already moved away from that word, Rust will be as well. That you see them as being so different languages reinforces my premise above; they're good at different things, so comparing them doesn't always make a ton of sense.
- nikolay 9y agoI have to agree with you.
- Thaxll 9y agogVisor is a security product ( Container Runtime Sandbox ) made by Google in Go and runs in production so I'm not sure what you mean by "how vitally important security is in that domain". https://github.com/google/gvisor https://github.com/google/gvisor
- nikolay 9y agoRust is much safer by both design and implementation programming language. Google is emotionally attached to Golang, which was born at Google.
- Thaxll 9y agoHow is it much safer? Sounds like you don't know what you're talking about.
- steveklabnik 9y agoOne could make an argument about data races, for example. Rust prevents them at compile time, Go does not. You could also make an argument about compile-time guarantees more generally. I'm not sure it's really a great argument, but you could make it. I think the parent's statement that it's only Go because it's made by Google is demonstrably false.
- Thaxll 9y agoOne could make the same kind of argument with GC lang vs none GC ( RAII doesn't protect from everything ). OP said "much safer" Rust is not much safer than Go, maybe it is safer but definitely not "much safer"
- steveklabnik 9y agoSure, that’s why I think it’s not a spectacular argument.
- nikolay 9y agoIt sounds like you have no idea about Rust.
- Thaxll 9y agoYou're the one that said "Google is emotionally attached to Golang, which was born at Google." which is really stupid tbh you think engineers at Google pick up tech because they're "emotionally attached"? Those smart people took the tool that fits their needs.
- nikolay 9y agoI'm sorry, but Google isn't some role model with high values. On the contrary, it makes most of its money from selling our dirty underwear to merchants.
- 9y ago
- roca 9y agogVisor is not a good poster child for Go. It hacks generics into Go via a preprocessor!
- cube2222 9y agoI'd say on the contrary. They chose it even while knowing they'll gonna need to hack generics. (Same in k8s, generics hacked together in a few different ways)
- roca 9y agoYou're starting from the assumption that the Google developers took a clear-eyed decision on the merits, which I don't share.
- cube2222 9y agoWhat do you suggest guided their decision?
- roca 9y agoIt's quite likely that, being at Google, they were already familiar with Go, people around them were using it, and there was a comfort factor with it being a Google project. It's rational to take these factors into account, but they don't reflect on the merits of the language itself, and aren't necessarily transferable to other people choosing programming languages.
- Sharlin 9y agoOnce you start putting "systems programming" and "Python" in the same sentence you can be pretty sure that the term "systems programming" has lost all meaning. Or at least using it without elaborating is only going to end up in confusion.
- stmw 9y agoPython is for systems programming like your fist is for hammering nails -- it will be slow, and there will be blood.
- nikolay 9y agoVery nicely put!
- sriram_malhar 9y agoPerhaps one could say that about systems programming languages as well, including Rust. It'll be slow(er) to develop, and there will be much wailing and gnashing of teeth. The word "systems" is increasingly relegated to a smaller fraction of the codespace than used to be; one wouldn't have considered building a high frequency trading system or a call handling system in a non C/C++ language in the mid 90's, but Java and Erlang get the job done well enough. As always Alan Perlis said it best (in his "epigrams of programming"): A programming language is low level when its programs require attention to the irrelevant!