Topic 01

The Language Landscape & Paradigms

Concept

There are hundreds of programming languages, and beginners often agonize over which to learn first. You don't need to settle that here. What you need is the map: the major families of languages, what each tends to be used for, and the deeper styles — called paradigms — that run across all of them.

A programming language is just a precise, written language for telling a computer what to do. Different languages suit different jobs, the way spoken languages suit different places — and, like spoken languages, you pick one based on where you're going and who you'll be working with, not on which is "best".

This is a tour of the terrain, so you can read any tech stack and know roughly what it means. Actually learning to write a language is a separate craft, with its own dedicated path.

The Major Families

Languages cluster into rough families by what they're built for. You don't need depth — just a feel for the map.

FamilyExamplesOften used for
SystemsC, Rust, GoOperating systems, infrastructure, speed-critical work
ApplicationJava, C#Large business and enterprise applications
Scripting / webPython, JavaScriptWeb apps, automation, data and AI work

Paradigms: Styles of Organizing Code

A paradigm is a style of structuring code — a way of thinking about a program. The big four are worth recognizing by name. Imperative code is a step-by-step list of instructions ("do this, then this"). Object-oriented code organizes everything into "objects" that bundle data with the actions on it. Functional code is built from small, predictable functions that avoid changing shared state. Declarative code describes what you want, not how to get it (a database query is a good example).

You don't need to master these now. The point is that paradigms are styles that cut across languages — they're a different axis from the family a language belongs to.

Paradigms Aren't Tribes

It's tempting to think you must pick a side — "I'm an object-oriented developer" — but most modern languages mix paradigms freely. The same language often lets you write imperative, object-oriented, and functional code in the same project, choosing whichever fits the task. The paradigms are tools in a kit, not rival camps you join.

Choosing a Language

So how is a language actually chosen? Rarely by which is "best" in the abstract. It's driven by the job (systems work pulls toward C or Rust; data work toward Python), the team's existing skills, and the surrounding ecosystem of libraries and tools. Fashion plays a part too, but the durable reasons are fit-for-purpose and the people who have to maintain it.

Cadence reflects this without drama. Its backend is written in one general-purpose language and its frontend in JavaScript, because JavaScript is what runs in web browsers. The team didn't crown a "best language" — they picked what fit each part of the job. This whole course teaches the discipline around those choices, not the languages themselves; learning to write code is its own next step.

Common Confusions
  • "There is one best programming language." Best is always relative to the job, the team, and the ecosystem. A language ideal for one task can be a poor fit for another.
  • "Object-oriented versus functional is a war you must pick a side in." Most real code blends paradigms, and most modern languages support several. They're styles to choose between per task, not tribes to join.
  • "The language you use determines whether you're a 'real' developer." The discipline — design, testing, collaboration — matters far more than which syntax you happen to write in.
Why It Matters
  • Knowing the language families lets you read any job posting's tech stack and understand the kind of work and choice it represents.
  • Recognizing paradigms as cross-cutting styles, not language labels, prevents a common beginner confusion and helps you learn any language faster.
  • Seeing that language choice is about fit, not fashion, frees you from the anxiety of picking the "one right" language to learn first.

Knowledge Check

What is a programming "paradigm"?

  • A style of organizing code that cuts across many different languages
  • A separate programming language that you must commit to using for the rest of your life
  • A ranking of which programming languages are the newest and best
  • The hardware that a particular programming language was built for

How is a programming language usually chosen for a project?

  • By the job, the team's existing skills, and the surrounding ecosystem
  • By picking whichever single language is objectively the best one
  • By always choosing the newest language that has been released
  • By using only the very first language that each developer happened to learn

Why is "object-oriented versus functional, pick a side" a confusion?

  • Most code blends paradigms, and most languages support several of them
  • Functional code is always strictly superior to any object-oriented code there is
  • Each programming language can only ever support one single paradigm
  • The paradigms described here don't actually exist in real code

Which statement about "the best language" is correct?

  • Best is relative — it depends on the job, the team, and the ecosystem
  • One single language is genuinely the best possible choice for every project
  • The language alone decides whether someone is a real developer
  • The newest language is automatically the best one to choose

You got correct