Topic 14

Programming Languages

Concept

The last topic showed that code is just written instructions for a computer. But there isn't one way to write those instructions — there are hundreds of programming languages, with names like Python, Java, Go, and Rust. A beginner reasonably wonders why anyone needs so many, and which one is the "real" one.

A programming language is a fixed set of words and rules for writing instructions a computer can be made to follow. Each language has its own vocabulary and its own grammar, the same way English and Japanese do — and, as with human languages, the idea you want to express can be the same even when the words on the page look nothing alike.

Languages sit on a spectrum, from close to human writing to close to the bare machine
High level
reads close to plain English — Python, JavaScript
Middle ground
readable, but you manage more details — C, Rust
Low level
close to the chip's own steps — assembly
Closer to humansCloser to the machine

What a Language Actually Is

A programming language gives you a set of words you're allowed to use and exact rules for how to arrange them. Write something that follows the rules, and the computer can be made to carry it out; break the rules, and it refuses, the same way a sentence with the words scrambled stops making sense.

The point of all those words and rules is to let a person write instructions clearly and then have the machine follow them exactly. Different languages package that up differently — one might need three lines where another needs ten for the same task — but underneath, they all reduce to the same kind of step-by-step instructions you saw in the last topic.

Why Are There So Many?

New languages keep appearing because people keep facing different jobs. A language built for crunching huge piles of data is shaped differently from one built for the buttons and animations on a web page, which is different again from one built to run a tiny chip inside a microwave.

History and taste play a part too. Languages were invented in different decades, by different people, each trying to fix something that annoyed them about the last one. None of this means the newest is best or the oldest is obsolete — many languages from forty years ago still run critical software today, simply because they do their particular job well.

Human languages are the closest everyday parallel. There are thousands of them, each grew up in its own place and suits certain things, and no single one is "correct" — French isn't a broken version of English. A programmer thinks of programming languages the same way: many tools, each fitting some jobs better than others. That parallel holds for *why so many exist*; from here on we'll talk about the real thing, programming languages, not human ones.

Closer to Humans, Closer to the Machine

The biggest real difference between languages is how close they sit to the way people think versus the way the machine actually works. This is described as the language's level, and it runs along a spectrum rather than splitting into neat boxes.

A high-level language is one written close to how a person would describe the task — it reads almost like structured English and hides the fussy details of how the chip does its work. Python and JavaScript are high level. They're quicker for a person to write and read, which is part of why beginner courses often start there.

A low-level language sits close to the machine's own tiny operations, the literal billions-of-steps-a-second work from the CPU topic. It gives very fine control over exactly what the hardware does, but it's slow and tedious for a person to write and read. Most software today is written high level, with low-level languages reserved for the rare places where squeezing out every bit of speed truly matters.

Do You Need to Pick One Now?

Not at all. The aim here isn't to make you choose or learn a language — it's to take the mystery out of the names. When a later course is called "Python from Zero" or "Go for Beginners," you'll now know that Python and Go are simply two programming languages, two different sets of words and rules, picked because they suit that course's job.

Think of a language the way a tradesperson thinks of a tool: you reach for the one that fits the task, not the one that's universally "best," because no such thing exists. Which language you eventually learn first will depend on what you want to build — and that's a decision for later, not now.

Common Confusions
  • "One language is simply the best, and the rest are inferior." No language wins everywhere. Each fits some jobs better than others, the way no single human language is the "correct" one.
  • "Using several languages on one project is a sign of trouble." It's normal. A web page often uses one language for its behavior and a server uses another, each chosen for its part of the job.
  • "The language you pick changes what the computer can do." The hardware can do the same things regardless. The language only changes how you write the instructions, not what the machine is capable of.
  • "A higher-level language is just an easier, weaker version of a low-level one." Not weaker — different. High-level hides machine detail to be quicker to write; low-level trades that comfort for fine control where speed truly matters.
Why It Matters
  • Course names like "Python," "Go," and "Rust" are programming languages — knowing that turns a wall of jargon into a menu of tools.
  • The high-level versus low-level idea explains why some software runs faster than other software doing the same thing.
  • When you eventually decide what to build, you'll choose a language to match the job — this is the groundwork for that choice.
  • Seeing languages as interchangeable tools, not rival teams, keeps you from wasting energy on "which is best" arguments that have no answer.

Knowledge Check

Why do so many programming languages exist?

  • Different jobs, eras, and preferences led people to build languages suited to different tasks
  • Earlier languages were all broken, so the extra ones are just failed attempts at one perfect language
  • Each computer manufacturer requires its very own language that works on no other machine
  • A law requires that every language be retired and replaced after ten years of use

What does it mean to call a language "high level"?

  • It reads close to how a person would describe the task, hiding the machine's details
  • It scored highest in an official ranking of the best and most professional languages
  • It sits right next to the chip's own tiny operations, giving the finest hardware control
  • It is simply any language that was invented before the others on the list

Does the language you choose change what the computer is physically able to do?

  • No — the language only changes how you write instructions, not what the hardware can do
  • Yes — picking exactly the right language unlocks the extra abilities the hardware otherwise lacks
  • Yes — low-level languages physically add new operations to the computer's chip
  • Only on weekdays, when the hardware accepts more languages than it does on weekends

You got correct