Hacker News new | ask | show | jobs
by dasil003 6169 days ago
I agree completely. I have worked a fair amount with Drupal, and anyone who says the codebase is crappy is just plain narrowminded. The power and flexibility of the codebase is incredible for the high level of abstraction it's working at.

Granted, almost any of the architecture choices can be questioned or even ridiculed, but that's inevitable when you are trying to be all things to all people. It's all too easy for someone random programmer to come in and pick on one thing and decide the code is crap, but yet the same programmer's ideal solution would only work for maybe 5% of Drupal's userbase.

Also, FWIW, I'm not a Drupal fanboy. I can't stand Drupal and will never work with it again. I think building a career on Drupal will severely limit your skillset, and I think time estimation and client relationship management is made much more difficult for a web developer due to the byzantine constraints it imposes. All that said, Drupal does what it does brilliantly and in much sharper form than any of the other PHP CMSs.

1 comments

Your comment is great. Can you expand on your 3rd paragraph? Why will you never work with it again and what byzantine constraints did you find? I'm wondering if there's some aspect of Drupal that I'm missing and if I'm not doing myself (and my clients) a long term disservice when I recommend Drupal. Have you found other, non-PHP CMS's better?
It's actually quite simple, I'm not interested in working on low-budget sites that need a ton of functionality for a very low price tag. There's a huge market for these types of sites, and Drupal and other CMSes are often the only remotely feasible option for these clients.

The thing is that I am an end-to-end web developer with 15 years experience with the full stack from back end, DB technology, server side languages, Javascript, HTML, CSS, Usability, etc. I have a very precise idea of what I want, and how to build it. With something like Drupal, you're only using 2-15% of the architecture for any given project, but yet the rest of it imposes assumptions and constraints which end up being performance and conceptual overhead. You can get a lot of mileage out of it, but you're constantly thinking in terms of the Drupal framework. This manifests in terms of lots of little compromises. I much prefer to build the app up from a basic set of web building blocks such as is provided by frameworks like Rails or Django. This typically costs more, but enables a much more polished product in terms of design, performance, and extensibility.