UML vs. Rails Simplicity

Yesterday I was working through a conceptually difficult relationship between my Rails models. After sitting at the keyboard and pulling my hair for a few minutes I went to the whiteboard where I could lay things out and get a better overview of the situation.

Having taken a course on Software Engineering at University, my first instinct was to use UML and pictures to represent the situation I wanted and transcribe it to code later. But since I'm using Rails it was actually easier to just write the code. I just wrote something like this:

instead of YIKES!

It's funny that UML exists as a pseudo-language on top of other programming languages, so that people, technical and non-technical, can talk about these things and you can have a shorthand for defining relations between models etc. without having to actually write code.

I love how Rails circumvented a lot of that by just making the framework so simple. The way I talk about Rails (and Ruby) code at a high level is the same way that I actually implement it in code.