Wednesday, June 4, 2008

This software project goes to eleven

Here's a list of the first eleven things you do for a new software project. Note that this is "not advice, merely custom" (with apologies to Mark Twain):

  1. Come up with a cool name that hopefully you won't be sued for.
  2. Have t-shirts made for all the developers with the project name. This is especially cool since most good developers' wardrobe consists entirely of swag.
  3. Write a string class in C++, since all the other string libs suck.
  4. Decide that rather than base the internal representation on one good standard (UTF8, UTF16, ShiftJIS, etc), that you'll support all representations and fix it with implicit casting operations.
  5. Write a smart pointer and decide to retrofit the growing code base with reference counting.
  6. Decide to switch from C++ to Java, because C++ sucks.
  7. Rewrite all the code using Swing for the GUI.
  8. Decide to switch back to C++ because Java is "Write-Once Debug Everywhere."
  9. Decide that desktop apps are a thing of the past and rewrite in PHP.
  10. Realize that your PHP code is unmaintainable, and discover what PHP is really an acronym for.
  11. Rewrite your web app in Ruby on Rails and find it has one tenth the lines of code and one tenth the performance.

Actually I like Ruby and Rails, this is probably more a commentary on the past twenty years of my career than any one technology.

No comments: