Lesson 05 Programming Today
Theme:
Lesson 05 · Slide 1

Lesson 05 — Programming Today

What writing code actually looks like in 2026 — languages, IDEs, AI assistants, git, GitHub.

IT Landscape Module 2

Lesson 05 · Slide 2

What is a “programming language”?

A formal language a human writes so a computer can do something predictable with it.

Lesson 05 · Slide 3

The 2026 language landscape

LanguageWhere you'll find it
PythonData, AI/ML, scripting, backends
JavaScript / TypeScriptEverywhere on the web — browsers + Node.js backends
JavaEnterprise systems + Android
C#Windows, Unity games, Microsoft-shop enterprise
GoCloud infrastructure, CLIs (Docker, Kubernetes)
RustSystems, performance-critical, replacing C/C++ in places
SwiftiOS apps
KotlinAndroid + JVM backends

Plus C / C++ — still huge in operating systems, embedded, games.

Note: as of 2026 — see TIOBE / GitHub Octoverse for current rankings.
Lesson 05 · Slide 4

An IDE in 2026

An IDE (integrated development environment) is a text editor with a lot of brains. It:

Names you'll hear (as of 2026):

Lesson 05 · Slide 5

AI coding assistants

The biggest shift in how code gets written since the internet.

Most engineers in 2026 use at least one daily. AI writes a meaningful fraction of new code; the engineer's job has shifted toward direction, review, and ownership.

Note: as of 2026 — vendors and capabilities shift quarterly.
Lesson 05 · Slide 6

Git in one slide

Git remembers every change you make to your code.

That's 80% of daily git.

Lesson 05 · Slide 7

GitHub in one slide

GitHub is the most popular place to keep your git repositories. It also runs:

Alternatives: GitLab, Bitbucket, Codeberg, Gitea.

Lesson 05 · Slide 8

A real Python snippet

def greet(name):
    return f"Hello, {name}!"

people = ["Ada", "Linus", "Grace"]
greetings = [greet(p) for p in people]

if __name__ == "__main__":
    for line in greetings:
        print(line)

You don't need to run this — just notice the indentation and the readable shape.

Lesson 05 · Slide 9

A real TypeScript snippet

interface User {
  id: number;
  name: string;
}

function greet(user: User): string {
  return `Hello, ${user.name}!`;
}

const users: User[] = [
  { id: 1, name: "Ada" },
  { id: 2, name: "Linus" },
];

users.forEach((u) => console.log(greet(u)));

Same idea, different language. Notice the explicit types — that's the “TS” in TypeScript.

Lesson 05 · Slide 10

The open source ecosystem

Most software is built on free, open code.

You install dependencies with one command:

Real apps have hundreds of indirect dependencies. Security and licensing matter.

Lesson 05 · Slide 11

Reading other people's code

Most of a working programmer's day.

Engineers read more code than they write.

Skills:

Lesson 05 · Slide 12

Career paths from “writes code”

Build the product

  • Backend engineer
  • Frontend engineer
  • Full-stack engineer
  • Mobile engineer

Adjacent roles

  • Data engineer
  • DevOps / SRE
  • ML engineer
  • Engineering manager

Lesson 14 returns to this map.

Lesson 05 · Slide 13

Recap

Coming up: Lesson 06 — how software is shaped at the bigger-picture level.
1 / ?