Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
> Docker and corresponding tools. https://github.com/abiosoft/colima
Neither sound like "applications I really enjoy". More like applications you suffer.
> And many others, really.
How about examples?
https://gobyexample.com/ is one of the best interactive "courses".
Seriously. I have held back on saying anything negative about Rust for the last 13 years but I will say this now: the type inference in Rust combined with its expressive type system can make sophisticated programs a nightmare to follow. My experience was with extensively reading the cargo codebase; trying to figure out what the resulting type of an expression that maps/filters/collects over other complex expressions is a chore.
For example, I find it very hard to figure out what the type of public_dependencies is in this declaration: https://github.com/rust-lang/cargo/blob/8fbc8459d59f3acecdb6...
The number of flags required to statically compile stuff when using cgo is indeed a bit complex (if you're not using cgo it will always statically compile), partly because interfacing with C is a bit complex.
There is an issue to make it easier[1], and doesn't seem too hard to find more information about it[2].
More general: I think I've seen every language described as "badly documented" at this point. Someone new comes to the language, knows what they want to do, gets stuck/frustrated because it's a little bit outside the "mainstream path", and calls it "badly documented".
[1]: https://github.com/golang/go/issues/26492
[2]: https://duckduckgo.com/?q=go+compile+static
The number of flags required to statically compile stuff when using cgo is indeed a bit complex (if you're not using cgo it will always statically compile), partly because interfacing with C is a bit complex.
There is an issue to make it easier[1], and doesn't seem too hard to find more information about it[2].
More general: I think I've seen every language described as "badly documented" at this point. Someone new comes to the language, knows what they want to do, gets stuck/frustrated because it's a little bit outside the "mainstream path", and calls it "badly documented".
[1]: https://github.com/golang/go/issues/26492
[2]: https://duckduckgo.com/?q=go+compile+static
overall balance and flexibility: https://github.com/go101/go101/wiki/The-main-sell-point-of-G...
It's a bit more advanced than what Rust macros provided last time I checked. You can shove whole directories in there and then traverse them or serve as static resources with pretty much one line of code.
Random blog post with a few examples:
https://blog.carlmjohnson.net/post/2021/how-to-use-go-embed/