array programming
54:31Does APL Need a Type System? by Aaron W Hsu at #FnConf18
6K views • 7 years ago
ConfEngine
Aaron Hsu's FnConf18 talk asks whether APL needs a static type system. He argues that APL's expressiveness and rapid iteration already deliver the benefits usually credited to types.
59:03Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17
7K views • 9 years ago
Dyalog User Meetings
Aaron Hsu explains why programmers often find APL harder to learn than people with no programming background. He identifies eight patterns that contrast traditional software engineering practice with APL practice, starting from Ken Iverson's language design principles.
43:16Pure Functional Programming in Excel • Felienne Hermans • GOTO 2016
26K views • 10 years ago
GOTO Conferences
Felienne Hermans argues that Excel is the world's most popular programming language and shows how spreadsheets work as a pure functional language. She implements a few mathematical problems in spreadsheet formulas to illustrate why they are so powerful and approachable.
30:37High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18
6K views • 7 years ago
Dyalog User Meetings
Aaron Hsu shows how to manipulate and transform tree data in APL using arrays and inverted tables instead of pointers. He claims much smaller code, better performance and easier parallelisation.
1:08Winning at programming competitions is a negative factor for being good on the job
67K views • 11 years ago
pkrumins
A one-minute clip of Peter Norvig saying that Google found programming contest success correlates negatively or poorly with job performance. The description links to a blog post discussing it.
47:30John Backus: Function Level Programming and the FL Language 1987
3K views • 9 years ago
Arthur Vard
A 1987 talk in which John Backus, creator of Fortran, presents function-level programming and the FL language, a successor to his FP work. It is an archival recording with links to the related paper.
1:05:56Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond
3K views • 8 years ago
25msr
A panel from the Lang NEXT 2014 conference on systems programming in 2014 and beyond. Language designers including Bjarne Stroustrup and Rob Pike discuss the topic, including C++ header compile times.
52:09"How to teach programming (and other things)?" by Felienne Hermans
34K views • 7 years ago
Strange Loop Conference
Felienne Hermans's Strange Loop keynote on the history and pedagogy of teaching programming. She questions exploration-only approaches like Logo and discusses research supporting explicit instruction and rote practice.
1:02:36The Pervert's Guide to Computer Programming Languages - SXSW
28K views • 9 years ago
Vulk Coop
A SXSW talk by W Watson that uses Lacanian psychoanalysis, with nods to Zizek, to critique popular programming languages. It argues that people choose and defend languages for emotional and ideological reasons rather than rational ones.
35:59Literate Programming in the Large
18K views • 13 years ago
Next Day Video
Timothy Daly, an original author of the Axiom computer algebra system, talks about turning a large Common Lisp codebase into a literate program. He argues code should be written as readable manuals, and the talk was given at Write the Docs 2013.
1:02:27Procedural Programming: It Never Went Away — Kevlin Henney | Build Stuff
28K views • 8 years ago
Build Stuff - #1 Software Dev Conf
Kevlin Henney argues that procedural programming never went away despite later paradigms such as OO and functional. He traces the history of structured programming and shows where procedural thinking still lives in modern code and why it matters for readability.
52:40Keynote. Professor Steven G. Johnson | JuliaCon 2019
18K views • 7 years ago
The Julia Programming Language
Steven G. Johnson, MIT professor and FFTW co-author, gives a JuliaCon 2019 keynote on metaprogramming and staged programming in Julia, showing how it enables high-performance numerical code and when not to use macros.
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
65K views • 14 years ago
Confreaks
Jim Weirich's RubyConf 2012 talk derives the Y combinator step by step, live-coding in Ruby lambdas. It builds up an understanding of functional programming and lambda calculus from first principles.
54:14Zig: A programming language designed for robustness, optimality, and clarity – Andrew Kelley
75K views • 8 years ago
Recurse Center
Andrew Kelley, creator of Zig, introduces the language at the Recurse Center's Localhost series in 2018. He covers its goals of robustness, optimality and clarity, C interop, cross-compilation and explicit allocators.
41:06"Unison: a new distributed programming language" by Paul Chiusano
45K views • 7 years ago
Strange Loop Conference
Paul Chiusano's Strange Loop 2019 talk introduces Unison, an open-source functional language for distributed, elastic systems. It covers content-addressed code identified by hashes of the syntax tree, a codebase manager, and algebraic effects called abilities.
2:53Amiga Hardware Programming 1 - Use the Assembler and wait for left click
90K views • 13 years ago
ScoopexUs
The first video in Photon of Scoopex's Amiga hardware programming series. It shows how to set up an assembler and write a minimal 68000 program that waits for a left mouse click.
9:43A Sudoku Solver in APL
47K views • 14 years ago
Dyalog
A Dyalog demonstration of developing a Sudoku solver in APL, using an algorithm by Arthur Whitney with performance work by John Scholes. The narration steps through the array-oriented solution.
36:58"A (Not So Gentle) Introduction To Systems Programming In ATS" by Aditya Siram
26K views • 9 years ago
Strange Loop Conference
Aditya Siram introduces ATS, a statically typed ML-like language that compiles to C and offers type-safe pointer arithmetic and a full proof language. The Strange Loop talk shows off C interop, concurrency and verification features with non-trivial examples.
56:27In Search of Tomorrow
18K views • 10 years ago
Berkeley Institute for Data Science (BIDS)
Chris Granger, creator of Light Table and the Eve language, gives a Berkeley data science lecture on what computation and programming might look like in ten years. He covers the path that led to Eve and ends with demos.
59:04On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]
27K views • 7 years ago
PapersWeLove
Shriram Krishnamurthi's PWLConf 2019 talk on the formal notion of expressive power of programming languages, based on Felleisen's paper. It explains how to tell when a feature adds power by whether emulating it requires global rewriting.
11:32Depth-first search in APL
11K views • 12 years ago
Dyalog
John Scholes builds a depth-first tree-search operator step by step in a Dyalog APL session. It covers higher-order functions and runs the search on the N-Queens problem.
1:04:45Stanford Seminar - Concatenative Programming: From Ivory to Metal
14K views • 8 years ago
Stanford Online
Jon Purdy's Stanford EE380 seminar giving an overview of concatenative programming, from function composition theory and history down to low-level implementation and correctness benefits.
47:41"Programming Should Eat Itself" by Nada Amin
43K views • 12 years ago
Strange Loop Conference
Nada Amin's Strange Loop talk on programming languages that build on themselves, centered on towers of interpreters and nestable interpretation in Scheme. She shows how interpreters can be stacked and collapsed.
46:17miniKanren - Dan Friedman and William Byrd
10K views • 13 years ago
ClojureTV
Dan Friedman and William Byrd demonstrate miniKanren, a logic programming system for Scheme, in an unconference talk. It includes generating programs by running relations in reverse.
21:01Self: The Movie;
21K views • 13 years ago
Jecel Assumpção Jr
A 1995 Sun Microsystems film about the Self programming language, a prototype-based Smalltalk relative, showing its live, graphical programming environment.
46:04"Eve" by Chris Granger
27K views • 11 years ago
Strange Loop Conference
Chris Granger presents Eve, a programming environment designed to be approachable for humans, at Strange Loop 2015. The talk covers the project's approach and design ideas.
2:41:18Seminar with Alan Kay on Object Oriented Programming (VPRI 0246)
31K views • 8 years ago
Yoshiki Ohshima (大島芳樹)
A long recorded seminar in which Alan Kay discusses object-oriented programming, probably from the mid-1980s. He covers the original idea of objects, messaging and the work done at Xerox.
27:45Gerald Jay Sussman: The Role of Programming (Dan Friedman's 60th Birthday)
22K views • 11 years ago
William Byrd
Gerald Jay Sussman speaks at Dan Friedman's 60th birthday celebration about how programming helps formulate and clarify ideas. He argues that ambiguous mathematical notation hinders understanding.
1:02:49Hacking with Andrew and Brad: tip.golang.org
99K views • 11 years ago
The Go Programming Language
A roughly hour-long live hacking session in which Go team members Andrew Gerrand and Brad Fitzpatrick write the new version of tip.golang.org, the site serving leading-edge Go documentation. It is unedited pair programming on a real Go project.
8:34APL at Julia's Speed | Shashi Gowda | JuliaCon 2016
3K views • 10 years ago
The Julia Programming Language
A JuliaCon 2016 talk by Shashi Gowda showing an APL implementation in Julia. APL code is translated to Julia and JIT compiled to machine code.
57:38Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
52K views • 11 years ago
Google TechTalks
Christian Schafmeister's Google Tech Talk on designing spiroligomer molecules and building Clasp, a Common Lisp on LLVM that interoperates with C++, to program molecular design. It covers the chemistry, automatic differentiation for force fields, and how the compiler is built.
39:21Functional Composition - Chris Ford
31K views • 13 years ago
ClojureTV
Chris Ford builds up from a single sine wave through layered abstractions to a Bach canon, using Clojure and the Overtone audio environment. The talk shows music theory as a natural fit for functional programming.
2:03:12Co-dfns Live Stream: Compiler Design and Architecture
21K views • 9 years ago
Aaron Hsu (arcfide)
A two-hour live stream in which Aaron Hsu explains the architecture, design history and aesthetic of Co-dfns, his parallel APL compiler. He walks through the code and the reasoning behind its dense style.
6:22Interactive programming Flappy Bird in ClojureScript
55K views • 12 years ago
Bruce Hauman
Bruce Hauman live-codes Flappy Bird in ClojureScript in about six minutes, using figwheel to hot-reload changes into the running game. The demo shows game behavior being changed interactively without restarting.
40:55"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki
69K views • 12 years ago
Strange Loop Conference
Evan Czaplicki's Strange Loop 2014 talk surveys the many formulations of functional reactive programming and how they relate historically and theoretically. It then shows how Elm's variant enables hot-swapping and its time-traveling debugger.
40:50Ruby Manor 3 - Programming with Nothing by Tom Stuart
13K views • 14 years ago
Confreaks
Tom Stuart's Ruby Manor 3 talk builds FizzBuzz using nothing but Ruby lambdas, working through Church encodings of numbers, booleans and data structures. It is a hands-on introduction to lambda calculus.
56:39Alan Kay - Programming and Scaling
36K views • 11 years ago
Colin McDonnell
An Alan Kay talk on programming and scaling, covering theoretical limits of code size, engineering versus tinkering, and biological cells as inspiration for object-oriented design.
54:10Design Patterns vs Anti pattern in APL by Aaron W Hsu at FnConf17
8K views • 8 years ago
ConfEngine
Aaron Hsu discusses design patterns and anti-patterns in APL and why the language is productive despite its write-only reputation. He argues that idioms matter more than libraries in array languages.
40:39Edwin Brady - Idris 2 - Type-driven Development of Idris
19K views • 7 years ago
Curry On!
Edwin Brady, creator of Idris, presents Idris 2 and demonstrates type-driven development, where the compiler assists by filling holes and suggesting implementations from types.
43:37Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram
25K views • 7 years ago
Lambda World
Aditya Siram argues that functional programming has much to learn from Smalltalk's interactivity, using Pharo and Squeak to show live, visual, explorable programming environments.