6 ms·
I absolutely adore Go, finding it to be an imperfect language that nonetheless yields powerful, maintainable solutions. It is the ultimate duct-tape language, a
by defaultname 5y ago
I absolutely adore Go, finding it to be an imperfect language that nonetheless yields powerful, maintainable solutions. It is the ultimate duct-tape language, allowing one to build robust, performant systems using a massive library and fantastic C interop where necessary. Yet I wouldn't consider it for "low-level" code. Garbage collection alone invalidates it in that regards (religious war: reference counting beats GC every time), in the same way that C# and Java aren't credible low level languages.
You aren't going to see C# or Go used in the Linux kernel.
"Rust (the Rick & Morty of programming languages - not a compliment)"
You mean something that is good to great but that "outsiders" or late adopters feel unexplainably threatened by and thus feel the need to attack it and its admirers? Where ironically the detractors are louder and more numerous than the advocates ever were?
Rust is particularly susceptible to this effect as it has been racking up wins and growing in influence, making people feel insecure about their current skillset/knowledge (always a weird motivator for rhetoric in this industry).
I have only dabbled in Rust a few times. It feels very unintuitive and "write-only" from my 1000 foot, ignorant perspective. But I realize that's on me, and appreciate the focus and purpose of the language.
Rust today seems like a 2013 Tesla Model S. A couple of years ago it was the GM EV1: It used to be largely promise of a future to come with a loads of downsides, where today it's expensive to get started with, has a lot of incompatibilities, but it's superior to most alternatives. Tomorrow it and those like it will be the norm.
- isubasinghe 5y agoRust is bloody great, the type system is so good. My thesis code has a bunch of type conversions, I managed to emulate 'do' notation (Haskell) of sorts via the type system, but I can now also convert between types really easily. So bloody happy with it. for example `n.unbind().bind()` can convert to a different type but `inside_n = n.unbind()` will let you work with the data inside the container `n` and after you are finished you can call `inside_n.bind()` to lift it back up to the container type.
- pjmlp 5y ago> You aren't going to see C# or Go used in the Linux kernel. Nor C++ or Ada, so what? Linux isn't some kind of golden rule for all OSes on the galaxy. I am more than happy to do bare metal coding in C# (Meadow) and Go (TinyGo) without having to deal with Linux.
- defaultname 5y ago>Nor C++ or Ada, so what? Volumes could be written as a reply. >Linux isn't some kind of golden rule for all OSes on the galaxy. Just about every operating system or major piece of system software is written in C, or limited C++ that is defacto C. Rust has a universe more of a likelihood to supplant those than Go or C#. And in fact is the only modern language making any headway in those cases. We're about two decades past people deploying the trite "Oh well that's just legacy inertia..." argument. Google didn't write Fuchsia in Go, and hasn't used an iota of it in ChromeOS or Android. Microsoft uses somewhere approximating 0% .NET/C# code in the Windows core. Microsoft research made a toy .NET OS once that, unsurprisingly, went nowhere, just as you can find irrelevant toy example projects pushing the same premise, but they're dead ends. This is of course meaningless for the vast majority of projects that the residents of HN are working on, where the compromises of Go, C#/.NET, GCs, etc, are massively outweighed by the benefits they bring to those sorts of projects. >I am more than happy to do bare metal coding in C# (Meadow) and Go (TinyGo) without having to deal with Linux. Okay?
- pjmlp 5y agoWaiting for that volume to arrive. As for the rest it would be a waste of my time on Earth to prove you wrong and change your mind. Okay?
- defaultname 5y agoYes, that is okay. There is little you could say on this that would be convincing given the every action of Microsoft, Google, and ranks of proven, competent developers who are building so-called low-level systems that power the world. I concur that it would be a "waste of time".
- pjmlp 5y agoAfter all, I am willing to waste some minutes with you. Since IBM i, IBM z, Unisys ClearPath exist, and power the world of insurances and finance, this sentence is obviously false. > Google didn't write Fuchsia in Go Indeed, only the TCP/IP stack and volume management tooling, should be easy for you to find out about them. Then there is this thing called gVisor, it is powering parts of the world that run on top of Google Kubernetes Engine. Maybe something there for you to learn as well. > Microsoft uses somewhere approximating 0% .NET/C# code in the Windows core On the NT kernel, yes, yet good luck using Windows only with the kernel, without the remaining layers, many of which developed in a mix of COM and .NET. A basic proof how much Windows systems programming experience you have. Ah then there is this thing called IoT Edge runtime for intelligent devices, written in a mix of Rust and C#. And before I forget, NVIDIA DRIVE AGX firmware is written in Ada/SPARK. Bye and learn to grow beyond the Linux bubble.
- yjftsjthsd-h 5y ago> You mean something that is good to great but that "outsiders" or late adopters feel unexplainably threatened by and thus feel the need to attack it and its admirers? Oh sure, the only explanation is that people feel threatened and insecure; the language is totally perfect and its admirers have never wasted anyone's time or demanded that other people blindly drop everything and start porting to their favorite language. > Rust today seems like a 2013 Tesla Model S. A couple of years ago it was the GM EV1: It used to be largely promise of a future to come with a loads of downsides, where today it's expensive to get started with, has a lot of incompatibilities, but it's superior to most alternatives. Tomorrow it and those like it will be the norm. What a beautiful analogy, considering that https://en.m.wikipedia.org/wiki/Electric_car_use_by_country https://en.m.wikipedia.org/wiki/Electric_car_use_by_country puts electric cars at 4.6% of all cars sold in 2020.
- mst 5y agoThe worst of the RIIR fan boys are intensely annoying, but they annoy the crap out of every rust developer I know just as much. I've been through enough waves of asshole fan boys for different things now that I can mostly tune them out, but they're basically never the people actually getting things done so even on the days I can't tune them out I try not to let them reflect badly on the project. Similarly, Rick and Morty is still funny to me even if I do basically have to block any vocal fan of it I encounter on twitter.
- ziml77 5y agoI wish I could stop these people. They accomplish the exact opposite of what they're trying to do, making people steer clear of Rust. Rust doesn't need that kind of help in scaring people off. As nice as the language is, it can take some time to warm up to when you're used to not having a compiler second-guess everything you're trying to do.
- mst 5y agoIf it's any consolation, the repeated evidence I've seen that your response here is typical of basically everybody getting real work done in rust does help me to ignore the muppets.