Hacker News new | ask | show | jobs
by morelisp 1471 days ago
For many years Go has been displacing C/Python/PHP/Ruby/backend JS in situations where it's a clear win or at least the tradeoffs in tooling, speed, type systems, distribution etc. can be expressed in terms of agreed-upon technical priorities.

Now there's a lot of Go code in the wild, projects people want to use or extend and programmers who will choose it by default, and it's starting to displace C#, Java, and C++ where the comparisons become a lot more preferential and vague. Do you want a faster GC or deterministic allocation? Nominal or structural interfaces? People fear change, especially in a field where change is only loosely correlated with improvement.

1 comments

Do you think Go is really starting to displace C#, and Java though? I rule out C++ because I really think rust is the one aiming for that spot. But Go for C# and Java? Hard to say until we see Go start to take over more of the business domain applications within enterprise IMO.
I mean, for Kubernetes, Go literally displaced the prototype in Java. And the surrounding tools that are all now in Go, would likely have been in Java instead. You could say it's been successful in part because it's not Java and therefore Go "grew the market" instead of displacing anything, but I think that's pretty weak - some kind of DIY cluster management was coming, and the state of things is that Go snatched it from Java.

I think Go is quietly taking over some business domain applications, reminiscent of Python ca. 2003 a lot of companies I see are using it for a few key components that benefit heavily from memory savings of value types and/or easier naive concurrency, but they're relatively quiet about it. There's also a small but significant cohort of junior devs today who learned to program by making games on fantasy consoles or homebrew hardware projects, want to keep working with those data-oriented patterns they learned C and C++, and Go supports that style a lot more idiomatically than Java. As much as I sometimes rant about "kids today", more of the current generation know the true value of a MB or a ms better than that of 10 years ago (Rust is helping a lot here, too).