Watch and track your favorite playlist.
Curated by: Xah Lee (847 videos)
Video Summary (Generated by AI, Edited by Human.) discuss the design of function named parameters in programming languages (0:17). And discuss dynamic vs strong typed languages. • terminology. Arguments vs. Parameters (1:41): “arguments” are passed when calling a function, while “parameters” are used when defining a function. • Named Parameters in Functional Programming (3:55): pure functional programming languages should not support named parameters. Instead, they should accept a key-value collection as a single optional last parameter (4:09). AI's Role in Research (2:49): use grok AI to research programming language design questions, such as: • Whether Haskell has named parameters (6:58). • Alternative names for named parameters (7:22). • Syntax for named parameters across various languages (7:52). • The design of named parameters in functional and mathematical programming languages (8:56). Functional vs. Mathematical/Scientific Languages (12:02): The video highlights a distinction: Mathematical/scientific programming languages (like R, Mathematica/Wolfram Language, Julia) commonly use named parameters (12:29) due to functions having many optional arguments (12:40). Pure functional programming languages (like Haskell, OCaml, F#) rarely use named parameters (13:42) because they interfere with currying and higher-order function composition (13:55), concepts rooted in mathematical functions (14:19). • Critique of Python's Parameter Design (18:11): disapproval of Python's function parameter design, calling it “extremely idiotic” and “convoluted” (18:46). • JavaScript and Perl's Argument Handling (27:00): discusses how JavaScript (using the arguments object) and Perl (using $_ array) historically handled arbitrary arguments without explicit parameter declarations, noting these designs are generally considered bad (29:07). JavaScript introduced a “rest parameter” syntax in 2015 to address this (33:39). • Static vs Dynamic Typing (44:36): The speaker discusses the debate between static and dynamic typing. explains C/C++/Java's static typing is idiotic (56:51), and fundamentally different from strongly typed functional languages like Haskell (rooted in mathematical type theory) (53:02). • The speaker expresses uncertainty about which overall approach to typing is "better" (56:42).
Automatically track which videos you have watched. Your completion status is updated at a glance, preventing you from re-watching episodes by mistake.
Never lose your spot. Our custom player remembers your exact video and timestamp, allowing you to dive right back in seamlessly.
Sync your playlist states, watched progress, and premium preferences across your desktop, laptop, tablet, and mobile phone automatically.
Simply paste any YouTube playlist URL or channel link in the application search bar to immediately generate a custom, sorted, and progress-tracked workspace. No registration required to start.
Explore Playlist Guides & How-Tos