Some of the programming language ideas in the talk:
- optional type systems
- separating compile time type-checking from execution
- delegating type inference to tools rather than the language
- mirror-based reflection
- which programmer mistakes should cause compiler errors and which should cause warnings
Gilad Bracha argues that type systems are important, but not for the reason most people give. Type systems are a form of documentation, and they help enable programming tool support, but their role in error detection is greatly overstated. Anders Hejlsberg, designer of C#, made a similar statement at the same conference.
See also Gilad Bracha’s comments during this panel discussion.
Related post: Dynamic typing and anti-lock brakes