| --- (Sorry for a reply all over the place.) --- > if you do not need the absolute bare metal control C or Rust provides, you are better of with either .net or Java. That, like your next point, is a relatively fair statement but it's prone to filter bubble bias as I am sure you are aware. I for example have extracted much more value out of Golang... and I had 9 years with Java, back in the EJB years. Java and .NET are both VM-based and have noticeable startup time. As such, they are best suited for servers and not for tooling. Golang and Rust (and Zig, and D, V and many other compiled languages) are much better in those areas. > Programming languages are like a religion, highly inflammable, so I can imagine you would not be swayed by some rando on the internet Those years are long past me. I form my own opinions and I have enough experience to be able to make fairly accurate assessments with minimum information. > I would already be happy if you choose Go over Python, as with the former you win some type safety (but still have a weak type system) and have a good package manager and deployment story. I do exactly that. In fact I am a prominent Python hater. Its fans have gone to admirable heights in their striving to fill the gaps but I wonder will they one day realize this is unnecessary and just go where those gaps don't exist. Maybe never? And yeah I use Golang for my own purposes. Even thinking of authoring my own bespoke sync and backup solution stepping on Syncthing, GIT and SSH+rsync and package it in Golang. Shell scripts become unpredictable from one scale and on. > Go was designed for Google, to prevent their college grads from implementing bad abstractions. But good abstractions are valuable. A weak type system isn't a great idea (opinion, but reasonable opinion). Back then .net was not really open source (I believe) and not as slim and fast as it is now, and even then, I think Google wants to have control about their own language for their own internal needs. That and your next point I fully agree with. That being said, Golang is good enough and I believe many of us here preach "don't let perfect be the enemy of good". And Golang symbolizes exactly that IMO; it's good enough but when your requirements start shooting up then it becomes mediocre. I have stumbled upon Golang's limitations, fairly quickly sadly, that's why I am confining it to certain kinds of projects only (and personal tinkering). > I recommend reading the comment history of @neonsunset. I don't mind doing that (per se) but I find appeals to authority and credentialism a bit irritating, I admit. Plus, his reply was in my eyes a fairly low-effort snark. |
For JIT-based deployments, it is measured in 100-500ms depending on the size of application, sometimes below. .NET has first-party support for NativeAOT deployment mode for a variety workloads: web servers, CLI tools, GUI applications and more.
Go is a VM-based language, where VM provides facilities such as virtual threading with goroutines (which is higher level of abstraction than .NET's execution model), GC, reflection, special handling for FFI. Identical to what .NET does. I don't think the cost and performance profile of BEAM needs additional commentary :)
Go also has weaker GC and compiler implementations and, on optimized code, cannot reach the performance grade of C++ and Rust, something C# can do.
> Those years are long past me. I form my own opinions and I have enough experience to be able to make fairly accurate assessments with minimum information.
The comments under your profile seem to suggest the opposite. Perhaps "minimum information" is impeding fair judgement?
> I don't mind doing that (per se) but I find appeals to authority and credentialism a bit irritating, I admit.
Is there a comment you have in mind which you think is engaging in credentialism?