Skip to main content

Programming essentials

Overview

Programming is the practice of precisely describing computation: data, control flow, abstractions, and interfaces that machines (and other humans) can follow. Most mainstream languages share the same building blocks—types, functions, modules, and memory or runtime models—even when syntax differs.

How topics connect

Key concepts (checklist)

Data types — boolean, int, float, char, strings

Data structures — arrays, objects, linked lists, hash maps

Constants — immutable bindings where the language allows

Logical operations — equals, greater than, less than, AND, OR, ternary, nullish coalescing

Arithmetic — sum, subtract, multiply, divide, modulo

Branchingswitch / case / break / default

Loopsfor, while, do…while

Functions — parameters, return values, closures (language-dependent)

OOP — namespaces, classes, attributes and methods, access modifiers, constructors, encapsulation (get/set), inheritance, polymorphism, abstraction, interfaces, iterators

Built-ins — string, array, and object helpers provided by the standard library

Sample: same idea in two languages

// JavaScript — first-class functions + array methods
const prices = [12, 7, 21];
const withTax = prices.map((p) => p * 1.1);
console.log(withTax.reduce((a, b) => a + b, 0));
# Python — list comprehensions + sum
prices = [12, 7, 21]
with_tax = [p * 1.1 for p in prices]
print(sum(with_tax))

History & paradigms

  • History — From machine/assembly code to high-level languages, managed runtimes, and browser-based platforms.
  • Paradigms — Imperative, object-oriented, functional, logic, and concurrent models—often mixed in real codebases.

References