array languages
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.
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.
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.
43:58"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)
141K views • 3 years ago
Strange Loop Conference
Evan Czaplicki, creator of Elm, examines how programming languages are funded. He looks at where compiler engineers' salaries come from, why Go has about 5 engineers while Dart has about 30, and how this limits language design.
42:31"Datafun: a functional query language" by Michael Arntzenius
9K views • 9 years ago
Strange Loop Conference
Michael Arntzenius's Strange Loop talk on Datafun, a functional query language that brings database-style querying into a general-purpose language. It discusses bridging database theory and programming languages.
34:55"Outperforming Imperative with Pure Functional Languages" by Richard Feldman
98K views • 5 years ago
Strange Loop Conference
Richard Feldman explains how pure functional languages can match or beat imperative ones on performance. Compilers can turn immutable code into in-place mutation, avoiding naive copying. The talk draws on his work on the Roc language.
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.
44:43Ron Pressler - Pull Push: Please stop polluting our imperative languages with pure concepts-Curry On
25K views • 11 years ago
Curry On!
Ron Pressler's Curry On 2015 talk arguing that imperative languages should not be polluted with pure functional concepts like monads. He favors simple blocking code over non-blocking styles.
40:13"Programming a 144-computer chip to minimize power" - Chuck Moore (2013)
19K views • 5 years ago
Strange Loop Conference
Chuck Moore, inventor of Forth, presents GreenArrays' 144-core asynchronous chip at Strange Loop 2013. He explains how idle cores draw almost no power and how tight code minimizes energy use.
58:36Advanced Topics in Programming Languages: A Lock-Free Hash Table
29K views • 14 years ago
GoogleTalksArchive
A 2007 Google Tech Talk in which Cliff Click of Azul Systems presents a lock-free concurrent hash table that scales to 768 CPUs. He explains why it is correct by reasoning in a different way than usual happens-before and memory-order arguments.
52:29"I See What You Mean" by Peter Alvaro
59K views • 11 years ago
Strange Loop Conference
Peter Alvaro's Strange Loop 2015 talk argues that query languages let you state what you mean, and applies that to distributed programming. It covers Datalog, Dedalus and the Bloom lineage for reasoning about distributed systems.
46:40Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
415K views • 2 years ago
ChimiChanga
Andrew Kelley, creator of Zig, presents practical data-oriented design techniques for shrinking memory footprint and making programs cache friendly. He ends with a case study of how these ideas sped up the Zig compiler.
54:35"An approach to computing and sustainability inspired from permaculture" by Devine Lu Linvega
19K views • 3 years ago
Strange Loop Conference
Devine Lu Linvega of Hundred Rabbits talks about low-power, offline computing, esoteric languages and the Uxn virtual machine, informed by years of sailing the Pacific. The talk frames computing sustainability through a permaculture lens.
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.
52:01Why Static Typing Came Back • Richard Feldman • GOTO 2022
157K views • 3 years ago
GOTO Conferences
Richard Feldman's GOTO Copenhagen 2022 talk on why dynamic languages like Python, Ruby, PHP and JavaScript rose in the 1990s and why each now has a popular static type checker. It argues that modern static typing recovers the advantages that made dynamic languages attractive.
49:06Perl 6 for Mere Mortals
6K views • 11 years ago
Curtis “Ovid” Poe
Curtis Poe's FOSDEM talk arguing that day-to-day Perl 6 is far simpler than its enthusiasts' talk of exotic features suggests. He compares basic math and string handling across languages.
40:48Andy Keep - Writing a Nanopass Compiler
29K views • 12 years ago
ClojureTV
Andy Keep's Clojure/Conj talk on writing a nanopass compiler, built from many single-task passes with formally defined intermediate languages. It covers the framework's origins in a compiler teaching course at Indiana University.
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.
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
1.6M views • 7 years ago
Metosin
Richard Feldman argues that functional programming is not the norm largely because of historical accidents, such as C++ popularity, platform exclusivity, marketing spend and network effects, rather than merit. He traces the history of how languages become mainstream.
37:07Scale By The Bay 2018: Bryan Cantrill, Rust and Other Interesting Things
45K views • 7 years ago
FunctionalTV
Bryan Cantrill argues that programming languages and platforms reflect core values, and compares languages through that lens, with Rust as a main example. He draws on his experience with Solaris, DTrace and ZFS.
28:06MountainWest RubyConf 2014 - But Really, You Should Learn Smalltalk
27K views • 12 years ago
Confreaks
Noel Rappin's MountainWest RubyConf talk introduces Smalltalk to Ruby programmers. He compares the two languages' object models, blocks, 1-based arrays, simple syntax and live programming environment, and walks through sample code.
44:03Google Developers Day US - Python Design Patterns
90K views • 19 years ago
GoogleDeveloperDay
Alex Martelli's Google Developers Day talk on classic design patterns (creational, structural and behavioral) and how they appear in Python. He stresses that patterns must be studied in the context of the implementing language.
44:59Ada, Past Present and Future
17K views • 15 years ago
AdaCore
An AdaCore talk on the history, present and future of the Ada language, including remarks from Robert Dewar. The title and description say little else.
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.
37:47Experiences Building Edge TPU with Chisel
11K views • 7 years ago
Chisel
A Google talk from the Chisel community in which engineers recount designing the Edge TPU with the Chisel hardware construction language. It covers the productivity gains and the problems they hit.
49:27DConf 2019: All Spreadsheets Must Die -- Robert Schadek
5K views • 7 years ago
The D Language Foundation
A DConf 2019 talk by Robert Schadek arguing that spreadsheets are the world's dominant programming language and that D can be used to replace them. It looks at spreadsheet quirks and then at techniques for moving away from them.
42:43"Propositions as Types" by Philip Wadler
143K views • 11 years ago
Strange Loop Conference
Philip Wadler's Strange Loop talk on Propositions as Types, the link between logic and computation (the Curry-Howard correspondence). He traces its history through Church, Godel and Turing and shows how it shaped theorem provers and programming languages.
43:04"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)
468K views • 4 years ago
Strange Loop Conference
Jack Rusher's Strange Loop 2022 talk argues that most programming languages are still designed around punchcard-era assumptions. He makes the case for live, interactive programming environments, drawing on Lisp, Smalltalk and REPL-driven development.
51:40Domain Modeling Made Functional - Scott Wlaschin
71K views • 9 years ago
NDC Conferences
Scott Wlaschin's NDC talk on using statically typed functional programming, F# in particular, to model a business domain. Types are used to represent the domain precisely and to encode business rules so that illegal states cannot be built, with the compiler acting as an instant unit test.
58:23Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry On
82K views • 11 years ago
Curry On!
Evan Czaplicki, creator of Elm, talks at Curry On 2015 about user-focused language design. He explains the principles behind Elm and how to make a functional, typed language as approachable as JavaScript.
50:49Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
74K views • 6 years ago
KanDDDinsky
Scott Wlaschin shows how statically typed functional languages, using F# examples, can model a business domain so that invalid states cannot be represented. The type system acts almost like an instant unit test at compile time.
41:53Gabriella Gonzalez – How to market Haskell to a mainstream programmer
8K views • 6 years ago
Konfy
Gabriella Gonzalez argues that developers misunderstand marketing as deception or hype, and applies the technology-adoption ideas of Crossing the Chasm to Haskell. She looks at what keeps Haskell from reaching mainstream programmers and what a community can do about it.
38:19Origins of Go Concurrency style by Rob Pike
28K views • 14 years ago
jasonofthel33t
Rob Pike's 2010 talk at OSCON's Emerging Languages Camp on where Go's concurrency style comes from. It traces the idea from Hoare's CSP through Squeak, Newsqueak and Limbo to Go.
40:56"Liberating the Smalltalk lurking in C and Unix" by Stephen Kell
25K views • 12 years ago
Strange Loop Conference
Stephen Kell's Strange Loop talk argues that C and Unix already contain Smalltalk-like dynamism and introspection that can be exposed. He presents his liballocs research on bridging dynamic and compiled languages.
39:03RustConf 2020 - Closing Keynote by Siân Griffin
10K views • 6 years ago
Rust Programming Language
RustConf 2020 closing keynote by Sian Griffin that dives into Pokemon Blue glitches, notably Missingno and arbitrary-code-execution tricks. It uses them to explain how memory unsafety works and how memory-safe languages like Rust prevent such bugs.
44:382017 LLVM Developers’ Meeting: “Implementing Swift Generics ”
21K views • 9 years ago
LLVM
Swift compiler engineers explain how Swift implements generics using dictionary-passing with reified type metadata. They compare it with Java-style uniform representation and C++ or Rust monomorphization.
48:11ElixirConf 2021 - Isaac Yonemoto - Zig (heart) Elixir
4K views • 5 years ago
ElixirConf
Isaac Yonemoto's ElixirConf 2021 talk on Zigler, a library for writing Elixir NIFs in Zig. He looks at its internals and how it bridges the two languages while keeping the NIFs well behaved on the BEAM.
22:19Lars Bergstrom - Beyond Safety and Speed: How Rust Fuels Team Productivity
18K views • 2 years ago
Rust Nation UK
Lars Bergstrom of Google presents how Rust improves team productivity beyond safety and speed, with data on rewrites, defects and review. It compares Rust teams to those on legacy native languages and Go.