Denderello's Blog

I am doing it wrong, but I try to avoid it

denderello wrote on 14 Mar 2010

If you haven't already read it I encourage you all to read Marco Tabini's blog post on the php|architect blog about why we're doing it wrong. I read it and it got me thinking for some time now.

First I have to admit that Marco points out some really true things. We tend to judge about other software, concepts, or solutions without taking the context of them into account. Reading the blog post I immediately remembered myself being in one of those situations where you take a look at some code a think something like: "Why the hell did they use X. It's so obvious that Y is way better for handling things like this!". Also the notion of making problems more complex as they are just to make the use of some concept, framework, library, etc. justifiable has been getting stronger during the last years in my eyes. Especially the last part is a heavy factor when it comes down to the fact that at the end of the day it's all about getting the job done. These are the points that I have taken from Marco's blog post (at least I hope he wanted to point these out :-) ). All of them are reasonable but I still have some thoughts that won't get out of my head.

It's the legacy, you know?

Marco brings up the point that projects like Drupal, Wordpress, etc. have code that he (and I am including me, too) don't want to take a look on. He says that these projects are still active, updated and work well.

While this is true I think that projects like Drupal, Wordpress, etc. are suffering the problem that their developers (taken aside that they maybe don't know other concepts, solutions, etc.) also struggle the fact that they maintain a lot of legacy code. Adding new functionality is much less work than rebuilding everything from scratch (well, I imagine it is like this). Rebuilding a software like Drupal or Wordpress from scratch would take a lot of hard work. You can ask the Flow3 guys how much work it is. And here comes the context topic in again. For the context of software like Drupal, Wordpress, etc. it can be perfectly OK to stick with the code that is already there and build on it. I'm absolutely fine with this.

But I still think that maybe their context is the main reason why they are somewhat bound to the way their product works. As said before I can understand them on the one hand but would also wish that they could start from scratch again.

We all improved ourselfs

Or at least we try to. Every day (well, I try to :-) ). Marco makes a good point I think that we lost focus of getting the job done a bit in favour of thinking about how to solve things the best practice way.

This perception has it's good and it's bad parts. On the one side it's about overcomplicating things so much that the actual problem could be handled way easier and faster with a not so much abstracted solution. On the other side I tend to like solutions that are future aware. I think this is what most of the addressed people try to do (at least I think this is right for the developers I know and work with) and I also think this notion has become more popular with the usage of frameworks, libraries, etc. that were developed or were improved during the last 3-6 years.

These frameworks, libraries, etc. also teach their users. For example did the symfony framework teach me so many best practices that my way of thinking about developing changed very much. It opened up a whole new world to me. Also I learned to think about solutions future aware in the way they do. This might be more complicated than it could be. But I feel more secure about the solutions I build using the learned knowledge.

Sit down. Relax. Think about it!

I always have hard times when trying to write conclusions. I don't like to give my readers a last thought that I can read to say: "Oh yeah, this is what I want to think". I leave this discipline to people who write newspaper articles. But this time it's a bit easier for me. While Marco has a conclusion in it ( ;-) ) the blog post leaves you thinking. And I think this is the greatest thing about it!

Creative Commons License

This work by Dennis Benkert is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.

All Blog Posts

  • Will not be shown

  • Gravatar photo Leon replied on 15 Mar 2010

    Nice pointing out and follow up, I completely agree.

© 2009 by Dennis Benkert - legal information