Philosophy

About bugs

  • Compiler errors are better than runtime bugs
  • Rescues are better than panics
  • Runtime crashes are better than undefined behavior

About code

  • The best code is the no code
  • Readability over performance (without compromising efficiency when critical).
  • Trust the compiler, it's smarter than you

About languages

  • Programming languages must adapt to developers, not the other way around
  • Small and simple core, with a powerful standard library
  • Easy to learn, challenging to master

About performance

  • Computers are getting faster, but not forever
  • Compile time is an abundant resource; use it for optimization.
  • Resources of the end user are limited

About software development

  • 80% of the work takes 20% of the time
  • Edge cases need to be handled; they aren't optional
  • Reusable code is better than single-use code