software, business, and other business

RubyConf talk: Ben Scofield: Cleanliness Is Next to Domain Specificity

  1. Linguistics

  2. We are programming languages – they can certainly be compared to natural languages

  3. Regional dialects are crazy. Can I get a coke? Pop is delicious.
  4. Jargons and cants differ not in grammar but in vocabulary. Hmmm.
  5. Creoles and pigeons differ in both grammar and vocabulary from their parent languages
  6. Getting back to ruby, are domain specific languages (DSLs) really languages? Or are they dialects, or something else?
  7. DSLs are really just about changing the words we use
  8. Linguistic determinism is crap
  9. The eskimos do not have 33 billion words for snow. For one, “the eskimos” is not one group of people with one language. Additionally, there may be lots of snow-related words in any given native alaskan language; however, there are lots of snow-related words in English as well.
  10. Tests are testing something that is already there. Specifications come before something else – this leads you in the right – or at least the test first – direction

​II. Refactoring

  • He showed a bit of shit code to get flight information from kayak and refactored it into a class with a more readable API
  • Use symbols instead of strings to avoid using quotes everywhere
  • Avoid parens when that makes things more readable
  • We will never model the domain exactly, so there is always room for improvement

Cool talk!