Jako Heiberg
HomeInsightsMusingsPortfolioAboutContact
Jako Heiberg

From DBase III+ to edge computing.
The journey continues.

Pages

  • About
  • Portfolio
  • Resume / CV
  • Insights
  • Musings
  • Archive
  • Contact

© 2026 Jako Heiberg · Cape Town, South Africa · UTC+2

Built with React + Cloudflare Workers. No PHP was harmed.

Back to Insights
Insights

Pick a Language and Stop Agonising Over It

The 'which programming language should I learn first' question has eaten more beginner momentum than any actual programming ever could. Here is the answer, and why the answer barely matters.

June 8, 2026
5 min read
Technology

Every beginner asks it, usually before writing a single line of code: which programming language should I learn first? The question feels enormous, like choosing a spouse or a tattoo. It is not. It is closer to choosing which gym to join. The best one is the one you will actually turn up to, and the worst mistake is spending so long comparing them that you never work out at all.

Let me save you the months of forum-lurking.

Why the first language barely matters

Here is the thing nobody tells the anxious beginner: programming languages are about 80% the same ideas wearing different clothes. Variables, loops, conditionals, functions, data structures, the discipline of breaking a problem into small pieces - these exist in every language, and these are what you are actually learning when you learn to program. The syntax, the specific words and punctuation, is the easy, disposable layer on top.

I have written production code in maybe a dozen languages. Learning the second one took a fraction of the time the first one did. The third was almost free. Because after the first, you are not learning to program anymore - you already know how to program - you are just learning a new dialect. The concepts transfer. This is why experienced developers are relaxed about languages: they know the thing that took real effort, the mental model of how programs work, is portable.

So the pressure you feel to pick correctly is misplaced. You are not locking yourself in. You are choosing your first dialect, and you will pick up others later almost by accident.

The actual recommendation

Fine, you want a name. Here it is: start with Python, or start with JavaScript. That is the whole recommendation. Pick one of those two and go.

Python if you want the gentlest possible on-ramp. The syntax reads almost like English, it stays out of your way while you are learning to think, and it is genuinely useful for an enormous range of real work - web backends, automation, data, scripting, AI. It is very hard to be angry at Python. It is a wonderful first language and a perfectly good twentieth one.

JavaScript if you are excited by the web and want to see things move on a screen quickly. Every website runs it, it is the only language that runs natively in the browser, and the feedback loop is intoxicating: change a line, refresh, watch the button turn blue. It has more sharp edges than Python and some genuinely weird historical baggage, but the motivation of building visible things can carry a beginner a long way.

If you cannot decide between the two, flip a coin. I am not being flippant. The coin is a better decision-maker here than another week of research, because either choice is correct and the week is not.

The languages to not start with

A short, opinionated list of first languages to avoid, and why. C or C++ first will teach you enormous amounts and also make you fight the language while you are still trying to learn to think - manual memory management is a brutal thing to juggle alongside your very first loop. Learn it later, when you want to understand what the machine is really doing. Rust is superb and also famously demanding; its strictness is a gift to people who already know why the rules exist and a wall to people who do not. Whatever is trending on social media this month - the hot new language everyone is breathless about - has a tiny job market and thin learning resources. Chase novelty later, from a position of strength.

None of these are bad languages. They are bad first languages, which is a completely different claim.

Where AI fits in

You will be learning to code in an era where an AI assistant can write a chunk of it for you, and I am not going to pretend that away. Used well, it is a phenomenal tutor - ask it to explain an error, to show you three ways to write a loop, to review your code and tell you what is clumsy. Used badly, it becomes a crutch that types the answer while your own understanding stays at zero, and you end up unable to build the second thing because you never actually learned the first.

The rule for a beginner is simple and strict: use AI to explain, not to replace. Write the code yourself, struggle with it yourself, and then ask the machine why it broke or how a professional would tidy it. The struggle is not an inefficiency to be optimised away. The struggle is the learning. There are no shortcuts through the part where your brain physically rewires itself to think like a programmer, and outsourcing it just means paying the bill later, with interest.

Now go

Choose Python or JavaScript in the next five minutes. Find a well-reviewed free course or the official tutorial. Write the traditional first program that prints "hello, world" to the screen. It will feel trivial and slightly silly. Do it anyway - it is a genuine milestone, the first time you made a computer do exactly what you told it.

Then keep going, because the next post is about the skill that outlasts every language you will ever learn: teaching yourself. Get that one right and the language question never troubles you again.

Jako Heiberg

Software developer with 40+ years of building things that work. Full-stack, FastAPI, React. Based in Cape Town, working remotely, worldwide.

Read next

So You Want to Be a Software Developer

Learn How to Learn: The Real Superpower

The half-life of a specific technology is a few years. The skill of teaching yourself new ones lasts a whole career. Most beginners never deliberately practise it - and it is the one thing worth practising most.

Related Posts

Insights

Vim From Scratch — Part 2: Modal Editing, and Why Modes Are a Feature

Every other editor lets you type text the moment you open it. Vim makes you ask for permission first. This sounds insane until you realise it's the reason Vim can do so much with so few keys.

August 26, 2026
5 min read
Insights

The Long Game: Staying Employable Without Burning Out

A software career is a forty-year marathon disguised as a series of sprints. Here is how to keep learning without chasing every shiny thing, and keep going without burning to the ground.

August 19, 2026
6 min read
Insights

Your First Job: What Nobody Warns You About

You got in. Now everyone else seems to know things you do not, the real codebase is a horror, and you are convinced they will realise they made a mistake hiring you. Good news: all of that is completely normal.

August 12, 2026
6 min read