What “sucks” about Golang?

This page summarizes the projects mentioned and recommended in the original post on /r/golang

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • go

    The Go programming language

  • Currently it is encoded as null. This is a source of bugs in many non-theoretical cases (eg consumers of JSON APIs). There are many issues on Google about others falling into this pitfall so it is at least not uncommon. https://github.com/golang/go/issues/27589

  • 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
  • Puts Debuggerer

    Ruby library for improved puts debugging, automatically displaying bonus useful information such as source line number and source code.

  • serde

    Serialization framework for Rust

  • Rust's serde framework is great. Here's the example for json. And it supports 21 formats other than JSON.

  • optional

    Optional is a library of optional Go types (by markphelps)

  • A quick google search finds this library - it mentions returning optionalT which to me implies it uses generics, but I can’t confirm it does as I haven’t learnt Go yet and don’t know the syntax!

  • ioccc-obfuscated-c-contest

    IOCCC International Obfuscated C code contest entries

  • I honestly, truly, don't get why a lot of programmers get stuck on this "less code" and confusing obtuse syntax that some languages offer as features. Reminds me of the Obfuscated C contest from way back (which I guess is still ongoing here: https://www.ioccc.org/). I much prefer Go's simple straight forward, less complex code. No trickery or magic, just easy to read code. I'm not saying your example code uses any said magic, just that is a common refrain I hear a lot on the golang reddit (verbosity of Go, particularly around error handling, and how using this or that trick would result in less lines of code).

  • option-go

    A generic optional type library for golang like the rust option enum

  • Here's one that uses generics, here's a more elaborate one.

  • go-optional

    A library that provides Go Generics friendly "optional" features.

  • Here's one that uses generics, here's a more elaborate one.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • go-octokit

    Discontinued Simple Go wrapper for the GitHub API

  • It’s archived for posterity. https://github.com/octokit/go-octokit

  • Clippy

    A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/

  • I wish Google would invest more in go vet so it could do many of the things for which we currently rely on hobby-level tools that are rarely matured and often abandoned. ESLint, Clippy, and even clang-tidy show how much more comprehensive and mature lint suites can be, despite Go being easier to analyze than those languages.

  • ESLint

    Find and fix problems in your JavaScript code.

  • I wish Google would invest more in go vet so it could do many of the things for which we currently rely on hobby-level tools that are rarely matured and often abandoned. ESLint, Clippy, and even clang-tidy show how much more comprehensive and mature lint suites can be, despite Go being easier to analyze than those languages.

  • exhaustive

    Check exhaustiveness of switch statements of enum-like constants in Go source code.

  • there’s a linter for exhaustive matching: https://github.com/nishanths/exhaustive

  • gobetter

    GO Better - code generator for struct required fields

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

  • MailCrab

    4 projects | news.ycombinator.com | 5 Mar 2023
  • Purego – A library for calling C functions from Go without Cgo

    6 projects | news.ycombinator.com | 12 Feb 2023
  • Optional types and utilities for ergonomic data transformations

    4 projects | /r/golang | 10 Feb 2023
  • Wasm and golang

    5 projects | /r/htmx | 20 Jan 2023
  • Minimalist self hosted apps

    27 projects | /r/selfhosted | 5 Jan 2023