With all the Go skeptics around on HN (not judging, just an observation), there must be a wealth of knowledge about similar (but "better") languages.<p>What I like about Go is:
- excellent standard and public libraries
- fast compile times (hot reloading is awesome)
- easy distribution by cross compiling binaries that have no dependencies<p>Is there anything that has similar developer ergonomics as Go?
Java meets your requirements. It gets a lot of shit but there's reasons why its so widely used.<p>The standard libraries + community are larger than Go, you can find a library to do anything. Standard library is huge and mostly great.<p>Compilation time is a couple seconds even for huge projects. You can do automatic reloads using Gradle.<p>Its very cross platform, including one of the only good cross platform desktop UI's.<p>You can build smaller binary distributions using JLink or a multitude of third party tools.<p>Single binaries are overrated. Any app that's widely distributed uses an installer or package management anyways (brew,choco,apt)
I've been developing Go web applications for the past 7+ years, some services getting billions of hits a day, and still have more than a handful running on various platforms currently.<p>In the past few days, I've been playing around with Kotlin because a client of mine is wanting an Android app developed, so I figure this is a good opportunity to dive right in. I have experience with Spring Java as well, not as the primary dev of the project, but I've written enough code to be comfortable with the process.<p>After being impressed with the process of writing Android apps in Kotlin, I decided to jump into Spring Boot + Kotlin and have been nothing but impressed. It's certainly different, but I'm feeling more productive than I was in Go because I can't say there is anything quite like it available in Go. I've tried Buffalo, but kept running into issues, and my typical go-to stack is Echo for the framework and Gorm for the MySQL library, but even then I need to pick my own tools for auth and caching.<p>The build time is certainly something to be desired, but with one of the more basic apps I'm writing for a client right now, it takes just a few seconds to compile, so it's certainly nothing to complain about at this point.<p>This is the tutorial I initially followed: <a href="https://spring.io/guides/tutorials/spring-boot-kotlin/" rel="nofollow">https://spring.io/guides/tutorials/spring-boot-kotlin/</a> and swapping out the h2 database for mysql was pretty straightforward, and I was pleasantly surprised to see that I was able to have the app automatically set up the DB structure for me, similar to how AutoMigrate works with gorm.
Perhaps Kotlin/Native. I've only used Kotlin which is exceeds my minimum expressiveness level for a go to default.<p>I prefer F# but is trickier to set up and less well used/documented/discussed. OCaml might fit the bill.
Depends on the use case... I was going to write something in Go the other day since I hadn't in a while, but instead it was easier to write a bash script.
C# is a more mature and complete language than go. And always will be.<p>Microsoft also appears to be working towards support for gui support for macOS and linux.<p><a href="https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/" rel="nofollow">https://devblogs.microsoft.com/dotnet/introducing-net-multi-...</a>
C++ is becoming better and better adopting best practices from other languages. I get it comes with a lot of complexity but I don't see it going anywhere.<p>Could be an alternative.