- Subscribe and get the new articles every now and then directly in your reader — I recommend using Google Reader
Rant about developers or how I stopped worrying and love the simplicity
Read comments ‣ (10)
written by Marek Foss

I recently read a quote that in the 60’s we were able to launch rockets to the Moon with just two Commodore 64’s, while now we need a 2 GHz Pentium 4 to barely launch Windows Vista. What went wrong?
At the same day, I’ve posted my concept of a Simple Template System, which in fact was a well prepared HTML file with placeholders, and a simple search and replace mechanism. And that’s what one commenter on DZone pointed out in a dissing attitude. It struck me, that he would probably praise me and call a guru if the template system had hundreds of useless features, thousands of lines of code and even more docs page. Does writing a million lines of code make you a great programmer? No, just like writing that many pages of stories won’t make you a Shakespeare…
Some developers seem to misunderstand simplicity with stupidity. If you want to do it simple, you must be lame. You need a simple JS? Don’t think, just use jQuery! You are developing a webapp? Use a framework! You want to crop a picture? Use Photoshop! So what that you could solve all these problems with 40 characters of inline code, a well thought script, and a Paint. You have used the tools of the pros, so you must be a pro too! Sure, why not…
People have a tendency to overkill. It not only is throwing out resources, but is not effective too – try to hit a fly with a shotgun and you’ll know. It amazes me how many developers go this way, they are engineers for Pete’s sake – they should optimize problems, not blow them into the stratosphere and feel like uber-hackers trying to squeeze what they really want out of a framework that should not have been used in the first place.
It’s not like I don’t know what I’m talking about. I’ve been there. I’ve seen Java and C# development and how much bloat they have. But it’s not like C++ is any better. I’ve also used frameworks and systems that had all the features in the world, yet not the one you wanted, and I remember the days I had to spent to hack into these structures to make them do what I want, not what they tell me I can.
They all are just tools. And they all should be used. But used wise. Because sometimes developing a scalable application doesn’t mean you need a framework straight away. Because sometimes you just have to think it over, not jump to conclusions. And often you might be surprised at how easy it all went. Pick the tools against the task, not the other way around.
Comments
Times are changed , you have showed that ideally writing about sending rocket :)
100% agree!
One example - recently I was looking for a twitter-python wrapper. Found few, but one really catch my attention - about 100 lines of code, that do everything it should do. Simplicity that definitely reveals a genius (or at last smart guy :) ) behind rather than lame…
This topic pops up every now and then and it’s always spot on. Even ma blog’s name agrees :). Funny thing is, so many people come to these sort of conclusions after years of forcing all those frameworks and libraries into their projects ;)
I agree people like to overkill BUT,
when it comes to simplicity in JavaScript, using jQuery actually makes things MUCH simpler. You don’t even need to know JavaScript to make things happen in a web page if you know jQuery.
Same goes to frameworks, they make your life much simpler. Frameworks are a collection of good, coherent and well tested code for you to reuse and thus, making things s.i.m.p.l.e.r. (TM)
Cropping with Paint is okay, as long you don’t care for the quality of the output while saving for the web (png or jpg).
I agree with you on simple templates. People keep inventing whole new languages to be interpreted by their parent (and also interpreted) language. In my case, I just use PHP which is a great templating language on its own. Replace template is also okay but I see no benefits if you compare to a native PHP template.
Have you ever heard about DRY? I think that is the reason why people use eg. jQuery for simple JS task.
I coulnd’t agree more Marek, however I am also with milosz…
It takes numerous lines of code to prevent you from repeating yourself. Frameworks are there for a reason and that reason is very valid, however the abuse off these frameworks is where it goes wrong (even though the intentions are good)
``With great power comes great responsibility’’ is my favorite quote to address this behavior, as it seems there exists a correlation between the powerfulness of the framework and the stupidity in it’s use.
You’ve got it exactly right, Hartog, while milosz is on his way to asking himself “what went wrong?” ;) DRY includes also the setting up of a framework. If it takes more time than writing an inline code, why do it?
To answer your last question;
Because you have an almost certainty you are going to need it in the near future; otherwise don’t bother.
This is very simplistic and flawed approach. You say two C64? Yes and a whole lot of unbelievably educated people. And time! DRY and SPOT principles have been developed because the time costs money and elaborate frameworks are here because programmers’ cycles cost few orders of magnitude more than CPU ones.
I remember 4k demos they were astonishing. But it’s impossible to write a reasonable webapp in reasonable time using assembly language and not declaring bankruptcy.
Steelman: if I were saying “don’t use tools and frameworks at all”, your comment would be valid. But I’m just saying to pick tools against the tasks. Having too much features just for the sake of them creates an unnecessary overhead. Don’t just blindly think “DRY & SPOT and let’s go”. It’s not always the most optimal solution, it’s not the Holy Graal.


