Initially, I intended to write about Go, but noticing that most people aren’t familiar with it, I decided to generalize.
You often come across calls to learn Go, Python, or any other programming language as the simplest and most popular option.
This approach is fantastic for marketing and allows for quick and costly sales of courses.
I believe such phenomena are harmful to the industry. These tactics create false expectations about a language and can distort a developer’s mindset, making them accustomed to the idea that everything in their chosen language is easy and straightforward.
Here are some clear examples from sports:
👟 Running
It’s easy and simple. Anyone can learn to run, and they can do it quite quickly.
But:
- Running is about technique, which develops over time, and without it, you can easily injure yourself.
- To run well and achieve results requires tremendous effort and consistent training.
♟ Chess
You can learn the rules in 5 minutes. They fit on an A4 sheet.
But:
- Without strategy and tactics, it’s tough to win and truly enjoy the game.
The same goes for technology.
The example with nil slices above serves as a simple illustration that Go has many nuances. And that’s not even touching on working with channels, memory management, and pointers.
I’m sure every programming language is filled with such details.
You can formally study the language specification, understand how to build primitive constructs, and even get your code to work.
But to write good code that has minimal bugs, is easy to read, and maintainable will take years. This comes with experience, and that is what mastery is all about.
Read the original post and join the discussion in Telegram: @time2code