Programming Languages
JavaScript fundamentals and async code, TypeScript in practice, Node.js with Express and NestJS, Python with FastAPI and Django, Go with goroutines and Gin, and Rust ownership, traits and concurrency, plus how to choose a language.
13 lessons · about 1.4 hours
Start the first lesson →- 01Choosing a Programming Language Languages are trade-offs, not badges. How to compare JavaScript/TypeScript, Python, Go and Rust by runtime, typing, concurrency and team fit, plus the learning path that works for any of them.
- 02JavaScript Language Fundamentals The core of JavaScript: values vs references, equality and coercion, let/const scope, functions, objects and prototypes, classes, modules, array methods and error handling.
- 03Async JavaScript: Promises, async/await and Node's Event Loop From callbacks to promises to async/await: running work in parallel, handling errors, timeouts and cancellation with AbortController, and how Node.js orders nextTick, microtasks, timers and I/O.
- 04TypeScript in Practice Beyond the basics: structural typing, unknown vs any, discriminated unions with exhaustive checks, generics with constraints, keyof and mapped types, satisfies, and validating runtime data so the types are telling the truth.
- 05Node.js and Express What Node.js is and how it serves thousands of connections on one thread, then Express step by step: routing, the middleware pipeline, validation, async error handling, project structure, configuration, security, rate limiting, logging and graceful shutdown.
- 06NestJS Core Concepts How NestJS organises a TypeScript backend: modules, controllers, providers and dependency injection, then the request lifecycle of middleware, guards, interceptors, pipes and exception filters, plus custom providers, scopes and testing.
- 07Python Fundamentals Python from the ground up: virtual environments, types and mutability, lists/tuples/dicts/sets, comprehensions, functions with *args and **kwargs, classes and dataclasses, exceptions, context managers, generators, type hints and the GIL.
- 08Python Web APIs: FastAPI and Django Build APIs in Python two ways: FastAPI with Pydantic models, dependencies and async endpoints, and Django with its ORM, migrations, admin and Django REST Framework. Includes project structure, security and the most common mistakes.
- 09Go Fundamentals Go's deliberately small language: modules and packages, zero values, slices and maps, structs, pointers, methods with value or pointer receivers, implicit interfaces, explicit error handling with wrapping, defer/panic/recover, and generics.
- 10Go Concurrency: Goroutines, Channels and Context Concurrency vs parallelism, goroutines and the scheduler, buffered and unbuffered channels, select, WaitGroup, Mutex and atomics, worker pools, pipelines and fan-out/fan-in, cancellation with context, and how to avoid leaks, deadlocks and races.
- 11Go Web Services with Gin Build a production-shaped HTTP API in Go: net/http basics, Gin routes and groups, binding and validating JSON, middleware, a layered project structure, handler tests with httptest, and graceful shutdown.
- 12Rust: Ownership, Borrowing and Lifetimes The idea that makes Rust different: every value has one owner, borrowing lets you share without copying, and lifetimes prove references never dangle. Covers Cargo, move vs copy vs clone, &T vs &mut T, String vs &str, slices and reading borrow-checker errors.
- 13Rust: Types, Errors and Concurrency Writing real Rust: structs and enums with pattern matching, Option and Result with the ? operator, traits and generics, iterators and closures, smart pointers (Box, Rc, Arc, RefCell), fearless concurrency with threads and channels, async with Tokio, and a small Axum API.