I am able to use different programming languages. I know most of the well-known languages without any problems: C, C++, Java, Python, JavaScript, Typescript, PHP…
However, I wanted to expand my horizon. Zig didn’t do much for me neither did Rust, but now that I’ve written some Golang. I admit, I’m intrigued by the language.
I love the fact it’s compiled to native machine language. There is still one caveat: despite Go being a GC language, you often still need to manage your memory. Sound strange right? But I needed to use io.Copy
instead of io.ReadAll
to avoid memory issues. But also you need to explicitly call defer res.Body.Close()
to avoid Go not cleaning-up the HTTP response… Ow well, so you learn it the hard way. Overall, I’m still very optimistic with Go. And looking forward to use it more often in some of my open-source projects.
See my first project in Go: https://gitlab.melroy.org/melroy/gitlab-artifact-deployer-go. Which I wrote in 3 days.
Did you try Go? What are your thoughts?
this is an example of task easier achieved in dynamically typed languages e. g. Ruby, python, elixir
No… In production you don’t want dynamically typed languages. Frankly, even TypeScript is still not good enough (since it still compiles to JS and the value can become any kind of type during runtime), it can cause catastrophic failures and errors in production. When you write a back-end server, I learned my lesson the hard way, I believe you want a statically typed language for better safety, security and mainly predictability at runtime.
Python is fine for some simple scripts here and there, but please do not use it for critical production software. Please …