The Prejudgement of Programming Languages



  • 10 Years of Failures and Bad Ideas

  • Pre-2001: Ignorant of Software

  • ~2001: C is the best thing, Java sucks

  • ~2003: Learned Lisp

  • Designed a “more modern” C

  • Had curly braces, static types, but basically Python

  • ~2006 Built BitBacker in ~98% Python

  • Arc: C -> Lisp -> Python

  • ~2009: Ruby and Python 50/50

  • Tweet about frustration of integrating libraries in Ruby + Javascript

  • Frustrated by Python’s lack of blocks

  • Shows a conversation between _why and Ryan

  • “Ruby isn’t serious”

  • Frustrated with programming

  • q2 2010: Writing Tests

  • Show TDD using Ruby
    • Crazy Vim action


  • Claim: RSpec is confusing
  • Never had this problem
  • Python based on SUnit from 1994
  • Thought Django views are not as advanced as Rails
  • Ruby is the serious one?
  • “A Python programmer rejects a new idea without considering its value. A Ruby programmer accepts a new idea without considering its value.”

Choose Ruby or Python

  • Ruby community more willing to pay

  • Move to that full time

  • Shows examples of ugliness in Ruby
    • @foo ||= bar
    • realization, it’s how you do memoization
  • Maybe Ruby is well designed?

  • Generators, Comprehensions, Decorators, and Context Managers are easy to implement with blocks

  • Which language is complicated?


  • Realized back to ignorance
  • Judged languages before he should
  • Ruby’s community is serious about testing
  • Rare opportunity to work with both