Thursday, June 24, 2010

Compiling is such a chore

I'm using Hudson as my build server and I would love to patch some things about it, especially the JUnit reports and charts.

Well, one of the reasons I dislike getting to this small change is that I would first:
  • need to checkout Hudson,
  • then figure out how to build it,
  • then do the patch,
  • then compile it and finally
  • start using the changed Hudson.
Thus, there are quite a few things that stop you from doing the smallest changes, and I would say the biggest culprit is that you have to compile the code. In a scripting language:
  • I would not need to checkout anything as the installed sources are everything I need.
  • There would be no "build" rules.
  • The patch would be done in-place.
  • There would be no "compilation" step and
  • There would be no "deploy" step so I can start using the new Hudson right away.
So while I dislike PHP, for example, as it seems too easy to break anything, having a strong typed, compiled language does hinder the desire to do small changes.

Imagine how easy would be to keep your changes in a separate branch (or Mercurial queues) and just rebase once in a while with the upstream codebase, tweak your patch a bit and have the latest running version as well as your changes.

Having everything pluggable is nice, but sometimes it would just be faster to edit the source.

No comments: