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
Is there anything that has similar developer ergonomics as Go?
The standard libraries + community are larger than Go, you can find a library to do anything. Standard library is huge and mostly great.
Compilation time is a couple seconds even for huge projects. You can do automatic reloads using Gradle.
Its very cross platform, including one of the only good cross platform desktop UI's.
You can build smaller binary distributions using JLink or a multitude of third party tools.
Single binaries are overrated. Any app that's widely distributed uses an installer or package management anyways (brew,choco,apt)
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.
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.
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.
This is the tutorial I initially followed: https://spring.io/guides/tutorials/spring-boot-kotlin/ 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.
I prefer F# but is trickier to set up and less well used/documented/discussed. OCaml might fit the bill.
Microsoft also appears to be working towards support for gui support for macOS and linux.
https://devblogs.microsoft.com/dotnet/introducing-net-multi-...
Could be an alternative.