Stop worrying about which language to learn. Just learn to code!

Beginners are told that learning to code means learning a language. It doesn't. Here's why you should focus on fundamentals first, and pick a language later.

One of the first decisions most beginners face is "What language should I choose?". Most land on JavaScript or Python.

At that point something significant happens. They move from "I'm going to learn to code" to "I'm going to learn Python". A week ago maybe they'd never heard of Python, and they certainly have no real understanding of the differences between JS or Python or R or Java or the dozens of other major languages. But suddenly they're willing to die on the hill of "I'm a Python sort of person".

And I can't blame them! One of the most confused, conflated messages that beginners are told is that learning to code is the same as learning a programming language. And us developers, who all have a favourite language, see a vulnerable newbie and immediately identify them as a potential convert to our language. There are few groups more tribal than programmers when it comes to their language.

Programmers in two angry mobs waving banners for different programming languages while a confused beginner covers their ears in the middle

But this is nonsense for a beginner. A beginner doesn't need to learn Python or JavaScript or any other language. They need to learn coding fundamentals and build a rock-solid platform that covers all the dozens of languages they'll end up using in time.

Especially in the age of LLMs, when you could be putting TypeScript, Python, SQL, bash, JSON, Ruby and however many more languages into production in your first week. We need to help beginners understand what's going on at as wide a level as possible, not narrow into some specific language.

We've designed Jiki to teach the fundamentals. Right now it uses a slightly modified version of JavaScript. Later in the year we'll add Python and you can choose (or we can flip a coin for you to choose!), but honestly it doesn't matter.

Learn how to code with Jiki. It'll take a while. Then, when you understand coding, use Exercism to learn languages. It'll be MUCH quicker and easier if you have the fundamentals in place.

And next time a beginner asks you what language they should learn, tell them it doesn't matter. Liberate them from the shackles and point them to Jiki to get solid fundamentals instead.

Thanks for reading / watching.