It's so easy to learn

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

Our great sponsors
  • Mergify - Updating dependencies is time-consuming.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SonarQube - Static code analysis for 29 languages.
  • go

    The Go programming language

    It depends on what you're up to, I had different experiences depending on my use case: * CLI - awesome, very comfy - writing utilities to automate some stuff in Docker and Vault was a breeze. * Stateless services - also nice - spinning up web server, generating code from OpenApi spec, or validating stuff with jsonschema was easy to set up. However, I was disappointed with lack of niceties, I.e. nilasempty * Stateful services - bad experience - manually managing transactions and db retries was such a chore. On top of that, we had to switch from CockroachDB to Postgres due to company policy, which resulted in us manually setting the isolation level for each transaction.

  • Echo

    High performance, minimalist Go web framework

    Here I'm not really sure what you're referring to: * You can set request timeout and it has nothing to do with whether you handled your error or not. * In most cases you either bubble it up the callstack or do something with error in place you o received it i.e. you switch to default value, retry or sth along those lines. In some cases frameworks like echo will translate error into 5XX response for you if you don't do anything with it in top level handler. * Panics are recoverable. Also in case your handler panics it won't crash entire server -> stdlib HTTP server just closes connection, frameworks might even provide panic handler which will return 5XX instead of nothing. * try/catch doesn't really solve anything I mentioned here ¯_(ツ)_/¯. You just hope somebody caught your exception somewhere else.

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

  • go-formatter

    A curated list of awesome Go frameworks, libraries and software

    The more that I think about it, the more that I have to agree that it is quite a use case language. Obviously Go can be and is used for many different things ( but it really shines in backend/devops, clearly because it was designed for it. But of all the "use case" languages, I think Go is the most versatile.

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