3 ms·
> Go is a useful language, but it's a language that has purposefully stripped out all the magic. People like magic, they miss it. I agree with everything you w
by artursapek 10y ago
> Go is a useful language, but it's a language that has purposefully stripped out all the magic. People like magic, they miss it.
I agree with everything you wrote except this. After 3 years in a job where I had to use Ruby on Rails, I am utterly tired of "magic" and I regret the many hours of my life I have wasted debugging issues that were created/concealed by it. Lack of magic is a feature in my opinion. But as you said, that's all this is - opinions.
- strken 10y agoI find Forth, Ruby, Elixir, various Lisps, etc. almost impossible to reason about because of this. Powerful metaprogramming tools can lead to really hard to understand and hard to refactor code.
- artursapek 10y agoRefactoring is the worst part, so bad that people just don't do it. This naturally leads to very convoluted code bases. Ugh. Never again. And actually, this is another place Go shines. Refactoring Go code is easy because the compiler helps you along. There's even standard tooling that automates some of it. Amazing.
- enraged_camel 10y ago>>Powerful metaprogramming tools can lead to really hard to understand and hard to refactor code. They can, but that doesn't necessarily mean they do. For example, the usage of Elixir macros, which are the primary metaprogramming tool in Elixir, is discouraged in the docs: http://elixir-lang.org/getting-started/meta/macros.html#foreword http://elixir-lang.org/getting-started/meta/macros.html#fore...