4 ms·
What do you mean when you say “Go’s usecases did not exist”? It was invented to write concurrent servers in that would have readable, performant implementation
by binary132 2y ago
What do you mean when you say “Go’s usecases did not exist”? It was invented to write concurrent servers in that would have readable, performant implementations suitable for use across teams, to make code review faster and better, to displace C++, and to prove that certain design principles from Dis / Plan9 were superior to those in Java. I’m not really clear how those usecases did not exist at the time. If you mean “Go is for scheduling containers”, you are wrong, but just because one popular application exists that doesn’t imply that is “what it’s for”.
- glonq 2y agoI inherited a project that uses Go for an industrial control system. It needs to manage valves and pumps and sensors in a performant and accurate and reliable manner, and that's what the developer (an electrical engineer) chose. FWIW the system has been in production for a couple years and works splendidly. The me of yesteryear probably would have developed such a thing in C++. In an alternate universe, there's a version of me that learned Rust 5-10 years ago and would have chosen that.
- zozbot234 2y ago> an industrial control system. It needs to manage valves and pumps and sensors in a performant and accurate and reliable manner How does it deal with GC pauses? Wouldn't they introduce unacceptable jitter for this kind of application? Anyway, it's relatively straightforward to rewrite from Go to Rust if you aren't doing things that essentially rely on GC (which is quite rare).
- glonq 2y agoA PLC controller deals with anything that requires tight timing, so the Go portion is mostly higher-level control of the system and states.
- AstralStorm 2y agoSo only high level non-safety-critical code, I see. I hope someone properly checked that no safety properties depend on Go there. I bet nobody actually did so...
- binary132 2y agoGo’s GC is pretty snappy these days, but I don’t think it’s that snappy. :)