I make a lot of choices while working on a project, mostly a large collection of tiny architectural choices that will impact how I build my applications. The words simple and complicated, I’ve found, are very deceptive blanket statements. Sometimes, I have to trade off different kinds of complexity that add upp to the greatest efficiency versus smallest amount of frustration.
Sometimes You Can’t Win.
There are so many different ideas about the easiest/best/fastest/simplest way to do things. Seems like everyone’s got a philosophy. NOW, THERE IS NOTHING INHERENTLY WRONG WITH THAT. I’ve got my own little bubble of philosophy I like to stick to. The unfortunate part is that there is a pretty wide spectrum of impresicse language that attribute ambiguous meaning to ideas without much factual support.
I’ll give an example. I’m laying out all the bits and pieces of a medical app right now, and I’m at the pivotal point of getting to pick what language and framework I’ll be using. I’ve surveyed a bunch of web technologies to choose the best (with “best” being a relative term).
Everybody wants simplicity, but be aware what you may be trading it for. In my case, I’m choosing between PHP with the Laravel framework or Ruby on Rails. Familiarity is the big discrepancy. Both parties have proponents and those who preach the beautiful elegance of their respective platform. But PHP is at heart an icky language and I know little about serious use of Ruby at this point. DAMN.
And when they dangle s–t like this in front of you:
WHO COULD POSSIBLY RESIST?
Tread lightly, Armand. Don’t get caught up in the sparkling beauty of these systems. Remember that something’s gotta give and to barter for the kind of complexity you can handle best.
I know PHP and Laravel very well, meaning I could get straight to work building the app. Rails seems super slick, though I admittedly know little about it. I’d have to learn everything while I work. As I mentioned in my introductory post, I love learning, but I take my sweet time to get the in-depth understanding I desire.
I get easily flustered when I begin to subscribe to everyone’s callouts regarding the streamlined versus the intricate. Not all complications have to be crippling, but be sure to pick them carefully. Until we start writing our apps with LOVE (a new scripting language where you write applications using ‘feelings’) I believe these sorts of choices will continue to thornily remind us of their irksomeness.
Pick your manifold code-wads with care.