So You Want to Be a (Compiler) Wizard

A month or so ago, @__biancat (whose username I can’t help but read as “Bian-cat” even though it’s probably “Bianca T.”) suggested I write up some ideas for getting into compilers and programming languages.

It turns out I’m happy to expound on this, and it doesn’t need a formal CS education either.1 Unfortunately, pretty much all of them require some amount of free time. I’ll come back to that at the end of the post.

Re: Contempt Culture

Two weeks ago Aurynn Shaw wrote a piece called “Contempt Culture”:

And even before I finished reading it I had a thought:

Oh, this is not the article I expected to be reading.

So here’s the article I thought I was going to read, based on the tweet. A short version, anyway.

Recommendations

A few weeks ago I asked people a question on Twitter:

I got many interesting responses, but one of them asked if I had any recommendations for books on compilers.

Oh gosh. Books? Books about computer science? I’m actually not very well-read: while I’ve been programming since I was a kid, I “only” have an undergraduate formal education. That means the set of books I’ve read about CS is rather haphazard. But I suppose I do have a few things that come to mind.

Older Posts

  1. 2015-05-09 Nibblesort: Adventures in Optimization
  2. 2015-02-22 AlterConf SF/Oakland
  3. 2015-01-24 “Skip the FFI”
  4. 2012-12-08 How to Write a Checker in 24 Hours
  5. 2012-10-02 Git Tricks
  6. 2012-05-16 Big News
  7. 2012-04-26 Keyboard Adventures
  8. 2012-04-10 Mail Aliases
  9. 2011-08-14 Header Anchors: A Safari Extension
  10. 2011-08-10 "Little Big Details"
  11. 2011-07-29 Weak Linking
  12. 2011-07-25 Using Clang from SVN in Xcode
  13. 2011-07-22 rm vs. Time Machine
  14. 2011-07-14 Priorities
  15. 2011-06-30 Quick Look in TextMate
  16. 2011-06-27 git add
  17. 2011-06-20 Automatic Reference Counting
  18. 2011-06-16 Dealing with "Sandwich Code"
  19. 2011-06-05 gdba
  20. 2011-06-03 Chrome vs. Safari
  21. 2011-05-31 User-Side Troubleshooting
  22. 2011-05-30 Auspicious Continuation
  23. 2009-07-22 Scripting Bridge
  24. 2009-07-08 What Happened to Dockyard?
  25. 2009-06-26 Garbage Collectors and Stack Drawers
  26. 2009-06-21 Z shell
  27. 2009-05-22 “Several New Features”
  28. 2009-05-06 C++ Templates are Turing-Complete
  29. 2009-04-21 [Meme] How Many HTML Elements Can You Name in 5 Minutes?
  30. 2009-04-16 Safer Plugin Categories
  31. 2009-04-02 Hacking Safari 4...for Great Convenience
  32. 2009-03-27 Const Correctness
  33. 2009-03-19 Categories and +load
  34. 2009-03-15 Subversion Checksum Problems
  35. 2009-03-06 JavaScript Tetris
  36. 2008-09-04 Objective-J and Objective-C
  37. 2008-08-28 HTTPS and Name-based Virtual Hosting
  38. 2008-03-08 Alerts Without Apps (or nibs)
  39. 2008-01-14 NSNumber, CFNumber, and CFBoolean
  40. 2007-12-13 GenericToolbar and IB3
  41. 2007-10-27 Performance Optimization: Why We Can't Use valueForKeyPath:
  42. 2007-09-01 Short Xcode Tip: Plugins
  43. 2007-07-15 Port 25 Blocked?
  44. 2007-06-27 GenericToolbar Icon
  45. 2007-04-14 The Symbolism of Pretty URLS
  46. 2007-03-07 Flexible PHP
  47. 2007-01-12 Inauspicious Beginnings