What's your core language?

Mastering a language -or any skill- is not easy. It will probably take you more than 21 days, but it's highly recommendable that you have one core language, one that you master and can write in it with your eyes closed.

The steps when learning a language are like this:

  1. Learn the basics (syntax, libraries,...). You struggle to get things done.
  2. You reach a plateau of competency, where you can pay your bills but you don't master the language.
  3. If you get this far and keep learning, you'll start mastering the language, thinking in it.

But to step up this ladder you have to practice meaningfully or you run the risk of stalling at the plateau... How?

  1. Keep practising and challenging yourself.
  2. Learn best practices and idioms.
  3. Work on other people's code.
  4. Get other people review your code (i.e. get feedback).
  5. Solve your own bugs.

It's fine to know other languages, as they will enrich your knowledge, but remember to use its own style and idioms. Besides that, it's probably better to know one low-level language and one high-level language, at least. Different paradigms are also recommended.