Turning 'wat' into 'why'
summary
Walks through concrete gotchas and why they happen: JavaScript uses the ECMAScript ToPrimitive algorithm so []+{} becomes "object Object" and + does string concatenation when either side is string; Python caches small ints (-5..256) so "is" can be true for separately written 256s but not for 257; Python 2 orders different types by type name; Java and C# use integer caches around -127..127; PHP ternary is left-associative; PowerShell needs -gt/-lt not >/<.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 0:47The problem
- 3:03The algorithm
- 7:49JavaScript
- 8:58Ruby Python
- 14:02Java
- 14:57Perl
- 15:52Terminal
- 16:21Pattern Matching
- 17:14Pascal
- 17:54Elixir
- 19:24Scala
related talks
50mThe Post JavaScript Apocalypse
07mProgramming Languages Made Better
20mECMAScript Regrets
45mHow JavaScript Happened: A Short History of Programming Languages
41mVirtual Machines 101
58mGarbage In, Garbage Out: Arguing about Undefined Behavior...
50mWhat’s really going on under the hood? The hidden life of method calls.
01h 01mThe Worst Programming Language Ever
