Thirteen Years of Go

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • colima

    Container runtimes on macOS (and Linux) with minimal setup

  • > 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?

  • gobyexample

    Go by Example

  • https://gobyexample.com/ is one of the best interactive "courses".

  • 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.

    WorkOS logo
  • Cargo

    The Rust package manager

  • 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...

  • go

    The Go programming language

  • 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

  • duckduckgo-locales

    Translation files for <a href="https://duckduckgo.com"> </a>

  • 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

  • lazygit

    simple terminal UI for git commands

  • go101

    An up-to-date (unofficial) knowledge base for Go programming self learning

  • overall balance and flexibility: https://github.com/go101/go101/wiki/The-main-sell-point-of-G...

  • 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.

    InfluxDB logo
  • exembed

    Go Embed experiments

  • 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/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts