There, I said it.
Drupal has a huge following and a very impressive community of contributors, it seems to be growing in popularity every week which is made apparent by the number of contracts available requiring Drupal experience. Surely it must be good in that case, right?
Because of this I decided I should make some effort to run after the bandwagon, waving and shouting in the hope they’ll let me hop on for the ride. I have been completely focused on back end PHP development for a couple of years now and I was beginning to feel left behind by the industry. Don’t get me wrong here, it’s not PHP that I’m left behind with -far from it in fact - I have probably been pushing PHP well ahead of the industry if anything. I’ve been Porting techniques from Java, and really pushing object oriented development in very enterprise level applications. I’ve been focused on real gritty backend systems development and the web 2.0 movement has got all fired up and started running around like a dog at dinner time while I’ve been sat in my dark room obsessing about making scalable & efficient budget strategy management systems for my employer, TradeDoubler.
Granted, it’s been exciting stuff to work with, but I’ve decided it’s time to hedge my bets on the direction of PHP. If I remain a solely backend developer then I’m putting absolute faith in the direction PHP as a language is going to take, and this strikes me as foolish, so once again I’m opening the dark room door and stepping in to the blinding light of web development.
So, what’s all this got to do with Drupal being shit? Well, Drupal was my first port of call on the journey to web 2.0 acceptance. I installed it on this very website, to run this very blog, but gave up in frustration. Sure, I got the blog working, but actually managing the content of a Drupal website via the admin area was tedious at best. It’s unintuitive, and if I’m going to be using a Content Management System, then I jolly well expect managing content to be the top priority when it comes to making things quick and easy.
Then there’s the code behind it all
Maybe I’ve spent too long in my dark room surrounded by elegant design patterns and silky smooth OO, but I took one look at the Drupal source and was instantly reduced to a quivering wreck.
So, I installed Wordpress, which straight out of the box is much easier to actually get a working site up and running and much, much more usable and intuitive. Also, contrary to popular opinion, Wordpress is not just a piece of blogging software, it’s a fully fledged CMS.
But Drupal is much more powerful than Wordpress! I can here the echoes of Drupal fans already and I’m not even going to try and disagree with them, I shall take it for granted; If you’re building “complex” websites then Drupal is more more suited to the job than Wordpress. Fine, I’ll accept that without a fight, but I will say this; if you’re building “complex” websites, then a solid MVC framework is far, far more powerful, flexible and scalable than Drupal ever will be.
If you’re building a complicated website, then go with Symfony, because as soon as you want to do anything more than manage content, it is a much better choice for absolute control over your applcation, and if you just want to manage content on a fairly simple website, well, I’d choose Wordpress all day long… if only the community support was up there with the behemoth of the Drupal develop collective!
41 comments so far...
Wordpress for simple websites!
Depends what you mean by simple I guess, like wordpress.com that as of time of writing claims: 3,858,506 blogs, 144,696 new posts, 49,288,626 words today. Is that simple or not? either way its pretty busy!!
And of course there are the magazine layout themes you can get, and did I hear magento commerce integration…? I think I did
WP is easily good enough for 80% of the web!
YES Drupal i a colossal pile of shit for stupid peoples
I have to agree with you. I have been developing Drupal sites commercially for the last 6 months and I hate it. It is garbage in terms of how it holds together and how people endorse developing for it.
WordPress pisses all over Drupal which is why it’s icon is a little dribble of pee.
Drupal reminded me that life is too short to be a webdesigner.
This CMS spat in the face of my attention. I don’t expect D7 to be any better.
I came to drupal before the good php frameworks gained ground.
And at the time it felt luxurious. Taking out loads of the grunt work of building a site.
It’s easy to install, you can build sites quick in it. The theming layer is adequate.
I just upgraded a drupal site, (probably only to make it run slower!). And I’ve had issues with 3rd party modules, that make you scream.
Third party modules are a bit hit and miss, as in most CMSs. (Plone at least demands testing). i’d advice sticking to the Core Modules.
Why learn an API of a CMS when you can just learn PHP?
Why use some crap WYSIWYG editor when you could use a good editor and a little HTML? How hard is it to transfer a file to a server?
As soon as you wish to modify, or add to a CMS, you might get lost in abstraction and frustration. And it’s quite a learning curve and an investment of time. And when the CMS is updated to the latest version, you may have to relearn.
Frameworks too also require an investment in learning an API. but if you build lots of sites, they may be a better option.
I think projects like Drupal have a hard time of it as they are trying to cater for everyman.
Having said that I’ve benefited from looking at drupal’s code, and watching the project mature.
Who want’s Drupal? Companies and organisations do, they don’t want to rely on one person to support their site. And a popular CMS like drupal offers an upgrade path, it’s scalable and has a pool of developer’s that can be tapped into. And it performs okay.
I have to admire Wordpress not for it’s code base, but just because it fit’s alot of people’s needs.
One man’s shit is another pig’s dinner.
Drupal is the most annoying sack of trash I’ve ever used.
Custom code what you want. Dont install some garbage and hack it till it works
I’m starting to agree.
I’m getting very frustrated at drupal. I need to build a website. I don’t know code but someone I know who is a professional web designer insisted on me using Drupal. I am known for taking the hard route and decided to ditch Joomla for it. I am now finding myself constantly confused by the sheer amount of modules one has to install in order to achieve what I think is core functionality.
I have lost a lot of time already and I have decided I’m not wasting more on a new piece of software.
I agree with what you say about drupal.
However based on the quality of the code, Wordpress is absolutely not a reference. Digging into it’s code can be a real nightmare.
[...] http://blog.nathanwhitworth.co.uk/opinions/drupal-is-shit.html [...]
Full disclosure: I make about 70% of my living these days writing about Drupal. (25% comes from writing about science and general technology, and 5% comes from other things.) I tried other systems, including both WordPress and Joomla, and have been (mostly) happy with Drupal.
I’m a segment of the market for whom “a solid MVC framework” isn’t an option. Why? I’m not a coder. I’ve written a few lines of PHP here and there, but am not particularly good at it. At the same time, WordPress still won’t do all I want. (It *is* getting more and more powerful, which is a credit to its developers.)
As an example, my latest site is http://www.inoberlin.com — which I don’t believe would be possible in WordPress, and would take a *hell* of a lot of custom development (which I’d have to pay for) to create from scratch. By the way, that site doesn’t have a single line of custom code… well, O.K., I think I added a CSS class.
So maybe Drupal’s not right for you, since (a) your content-management needs are comparatively simple, and (b) you can personally create complex code. But for someone like me, it’s just right. And the market of “people like me” is pretty big.
It’s true: Wordpress is better than Drupal for most blogs. That’s because Wordpress is a blogging platform, not a CMF like Drupal.
If you want solid object orientation you should not be looking at PHP, which is a procedural language with objects bolted on as an afterthought. Object orientation is the domain of Java and C# and other well-established, truly object-oriented languages.
With that in mind, you should not be expecting to see fully-fledged object orientation in every PHP application you come across.
Okee, the UX is very confusing in drupal 6 (in seven it will be amazing !!) but let’s be honest,..Drupal is superior on everything else. Joomla and wordpress are simple and dumb playtoys compared to the flexibility of Drupal. Just make an serious effort, digg in,.. and let the drupalmagic loose.
Drupal is a mean machine !!
Being a PHP developer for about five years now and embracing Zend Framework with all of its amazing OOP goodness I was pretty shocked when I installed Drupal 6 just a couple weeks ago.
Sure the design methodologies of the core is crap as it was built for procedural programming. And sure having to learn an api for theming is a pain. And sure the documentation format (doxygen) is crap for working with IDEs.
But when it comes down to it and you install the 7 or so essential, quality modules Drupal becomes quite a time saver for the vast majority of website projects. Now when I am contracted to develop a website I use Drupal, when I am contracted to build a web APPLICATION I use Zend Framework.
I’ve used Drupal for 3 years on two websites. Early on, I had some trouble when I installed third party modules on my production site before thoroughly testing them. Otherwise, the ability to create complex websites without writing much (or any) code makes Drupal stand above the rest mentioned here.
The reason Drupal is growing so quickly is because most web professionals who take the time to learn it find it to be fantastic. It is true, there are those who have difficulty understanding the administrative section. For those, I think a simpler CMS is the answer.
@Chris Cohen
“It’s true: Wordpress is better than Drupal for most blogs. That’s because Wordpress is a blogging platform, not a CMF like Drupal.”
That isn’t true. Wordpress is a CMS system too.
“If you want solid object orientation you should not be looking at PHP, which is a procedural language with objects bolted on as an afterthought. Object orientation is the domain of Java and C# and other well-established, truly object-oriented languages.”
I totally disagree with this. 5 years ago you would have been right on the mark, but these days PHP is a capable OO language. It needs to be, given the HUGE systems written in it. In nine years of using PHP, I have yet to see a large system written well in procedural code, and the fundimental OO concepts afforded by PHP allow for considerably better designs.
Proceedural coding might once have had a dedicated following, but all the evidence I’ve seen suggests that PHP apps written thus, are done so because the author doesn’t know any better. I would genuinely be delighted to see an example to the contrary.
Ultimately, I fail to see why PHP should not be a language to consider when building complex web applications. I suppose that can be summerised in a single word - Facebook.
PHP is not the be all and end all though, I agree that other languages have their merits where PHP fails. I have on occasion resorted to both C# and Java when a project requires threading support. Yes, it can be hacked in to a PHP app, but why hack when you can do it properly elsewhere.
It’s interesting that people who dislike Drupal don’t simply dislike it, they passionately hate it. Not sure what that’s all about, but I’ve seen it again and again. Maybe it has to do with the frustration in not “seeing” why Drupal is so popular.
Drupal is popular simply because it makes building complex websites relatively simple.
True, it comes with a frustrating and drawn out learning curve. True, if you don’t put in a good deal of time into learning it, you are almost certainly going to feel frustrated and ripped off. This is why if your website is like most other sites on the Innertubes, nobody who knows Drupal would suggest that you use it. For most sites, Wordpress or Joomla or whatever CMS you choose would probably work fine.
But in the event that these other CMSs just don’t quite provide that one special feature that your site simply must have, Drupal is there like a kit car ready and willing to provide whatever functionality you take the time to design.
And enough with the OO vs procedural programming already! Drupal’s creation pre-dates the whole OO in PHP effort. And due to the widespread adoption of the existing codebase by users and developers, it’s not likely to be converted to OO anytime soon, in part, because the benefits of doing so are dubious. I find it hard to take seriously any developer who disregards an application as junk simply because it’s not written in his desired language or development methodology.
I always have to laugh when PHP programmers tout OO programming. Guys, you have no clue what a real OO language can do. One of the maxims in OO programming is that you haven’t found the proper abstraction if you haven’t written the class invariant.
You’re writing in a language without class invariants, no pre- and postconditions, no generics, and we can go on. I love PHP, don’t get me wrong, but the few OO goodies in PHP really doesn’t make it an OO language.
Anyway, Drupal is a great framework for many situations, regardless with the I-like-to-reinvent-the-wheel programmers might think.
+1 for what Harry Slaughter said.
Of course it’s not as easy to use and set up as Wordpress. That’s ridiculous. Apples and oranges. It’s also not as easy to build a car as it is to built a bicycle. But if you need to go more than a couple miles, then it’s worth the extra time to go ahead and build the car.
Consider this: I set up a system in Drupal just yesterday which takes information from a custom content type (with custom fields) and spits them out in XML at a customizable URL which is fed to a XML powered flash movie (in this case, an interactive map with images and descriptions of points on the map). All this was done with ZERO coding.
Yes, there’s a learning curve. Yes, you have to have a decent amount of experience with CCK, Views, phptemplate, etc., but I GUARANTEE that’s nothing compared to how long it would take to built something like that form scratch or from inside Wordpress.
Please STOP comparing Drupal to Wordpress, and STOP assuming that Drupal, Wordpress, and Joomla are the only CMS options out there. If you’re building a blog, maybe check out Wordpress, Chyrp, Frog, Pixie, etc. If you’re building a brochure site, check out concrete5, Frog, Zimplit, etc. If you’re building a pretty in-depth site, then maybe you check out Drupal, or maybe you go for MODx, or maybe you go for a framework, be it Django, Rails, Cake, whatever. But don’t hate on Drupal because it’s not good at all of those things, because nothing is.
I left both Wordpress and Drupal behind. I’ll use CakePHP for larger projects, and then modx as a CMS/framework for other projects.
modx blows Drupal out of the park. Elegantly coded (it’s a framework (revo) as well as a CMS). I abandoned Jooma/Drupal/Wordpress and converted sites over to modx, that’s how strongly I felt about it.
@admin - not just Facebook, but also IBM, Yahoo, Google, are all using PHP in mission critical areas.
The company I work for - educational company, we use PHP almost exclusively for front and backend mission-critical applications, and we get millions-upon-millions of hits a day, since the apps are used in nearly every school in America. I think many discard it because their PHP experience is limited to it being used on smaller “home grown” sites. The Wordpress code-base is also a mess too, and if a corp-head’s only experience is seeing Wordpress quality code, they would be less inclined to use it for mission-crit apps.
@mike
“Please STOP comparing Drupal to Wordpress, and STOP assuming that Drupal, Wordpress, and Joomla are the only CMS options out there. If you’re building a blog, maybe check out Wordpress, Chyrp, Frog, Pixie, etc. If you’re building a brochure site, check out concrete5, Frog, Zimplit, etc. If you’re building a pretty in-depth site, then maybe you check out Drupal, or maybe you go for MODx, or maybe you go for a framework, be it Django, Rails, Cake, whatever. But don’t hate on Drupal because it’s not good at all of those things, because nothing is.”
I don’t hate drupal because it’s not wordpress, or anything else. In fact, I don’t particularly hate drupal, I just don’t use it thus avoiding any mal feelings.
I think ultimately what it comes down to is this. Drupal has a nice following and a great community, brilliant, I don’t hate that, it’s a good thing, but I don’t want to involve myself with the mess of it’s code. I spent too many years working with legacy crap, and I’ve had enough of it. Give me Zend Framework or Symfony anyday.
Somebody has already mentioned the old anti OO, PHP doesn’t actually support it, you don’t know what you’re on about thing, but I do, I do know through years of suffering.
What PHP does support is clean, well documented, object based code. It might not meet your text book ideal of what OO is meant to exactly be, but it works.
If you can’t understand for yourself what makes Drupal a bad piece of software, then you will never understand anything I argue about it.
Yes, it works for many, and yes it runs countless websites, but so did OSCommerce before Magento came along. Ultimately, if it works for you, then great, keep at it, but for the time honoured PHP3 devs out there, I can tell you we’ve seen too much of it over the years, and it’s not worth the headache.
Now, I’ve not been coding properly for a good while now (see onkudu.com) but the moment a decent CMS plugin for Zend Framework is released (if it hasn’t been already) then Drupal’s days are numbered, just like OSCommerce is thankfully vanishing into the abyss of internet history.
Dude .. two words for ya; Pytnon & Django.
If you like elegance, consistency and OO you’ll feel like home, everything is much more easier and fun .. and MVC.
Like you I started with PHP and visited every corners for about two years. I used to eat PHP for breakfast, dinner and super and now I can’t even stand the smell of it. I usually stay as fas as I can from it, I’d even say that I loath it.
I still have some Drupal projects online and when the clients calls me and ask me for an update, or worst; a new feature, I always have that hesitation between doing the work or removing myself from the gene pool.
Give it an honest try, you will be amazed.
“Drupal’s days are numbered, just like OSCommerce is thankfully vanishing into the abyss of internet history.”
Whether someone will end up beating Drupal at it’s own game is a total guess. However, there is a big difference though between the community of developers working on Drupal and the community that worked on OSCommerce.
In terms of core contributors, with over 700 active core developers in the last release, Drupal is one of the top (probably 5) open source projects in the world — By comparison the Linux Kernal has something like 1,500 contributors. Additionally, there are some number of thousands of web development professionals that earn a living working on Drupal. These key metrics have been doubling with every Drupal release for the past six years.
While there will certainly be competition, for complex content management web development tasks Drupal is the clear leader in the market and the fundamentals that are driving it’s success are exponentially growing.
http://www.indeed.com/jobtrends?q=Drupal,+Zend+Framework&l=
http://www.google.com/insights/search/#q=Drupal%2CZend%20Framework&cmpt=q
In terms of it’s code, this comes down to learning curves and subjective comparisons. You should read this article as the counterpoint to your post:
http://www.netaustin.net/2008/12/21/how-i-learned-love-drupal
@zack rosen
I read it. Firstly, I agree. I agree that the Drupal community of contribs is immense. I’ve never been involved with it, but I can see that much from the outside. Any OS project should be truly proud to achieve just a fraction of what Drupal has.
That said, the arguments, or apologies, for the code were weak. Drupal isn’t a core part of Zend, and you can’t develop your own style of OO, or AOP. That just seems like an excuse for an accident. I think the root issue, if the Drupal devs are honest, is that it is built upon code written a long time ago, and that core is out of date by a long way. The community can continue to hack around it, but ultimately, I think you all know deep down that it really could do with a rewrite. It’s too late for that though, I think, so I’m going to take the bold move of sticking with my statement. Drupal’s days are numbered. I’ve seen it too many times in my career already. This industry quickly errodes foundations, and dispatches with false profits.
Zend, Symfony, Propel, Doctrine… they are the way forward. Real frameworks, a delight PHP has been waiting for all it’s life, and for a reason, they were proven in Java beforehand.
I admire the Drupal spirit, I really do, but it can and will be done better.
I think there has been some misunderstanding here. I myself have thought on many occasions “Drupal is shit”. However, it always turned out to be me who was shit. Simply because I didn’t understand or was assuming something to work a certain way but it turned out to work in a different way.
Drupal is very powerful, yet also very complex. Getting your head around Drupal can be the most daunting thing. Drupal comes with a massive learning curve, mostly because it is so unconventional. It’s not OO and it doesn’t incorporate any of the design patterns that we’ve come to appreciate over the past 10 or so years in web development. That doesn’t make it shit of course.
One of the first difficulties newcomers run into is the fact that there is no such thing as a back-end admin area. Front-end, back-end, it’s all the same. Depending on as who you are logging in you can or can’t see certain things. Wordpress has a real separate admin area, Drupal doesn’t. When you theme the front-end, you also theme the back-end.
The other thing that newcomers seem to struggle with is the content management part of Drupal. You need understand that the out of the box content management bits of Drupal are very generic. Normally, when you build a website using Drupal you also build admin modules to maintain that website. Drupal gives you a framework to do this. This way you can create content management forms that are tailored to your particular site.
@admin
I’ll believe it when I see it
For now that’s a subjective argument that amounts to ‘my code is better than your code’. That may theoretically be the case, but currently the 700+ developers driving Drupal are accomplishing a lot more in building a content management solution for users than outside developers pooh-poohing their work.
Because of this, the market is increasingly choosing Drupal over home grown solutions since it enables experienced developers to deliver complex content management websites far cheaper and quicker than folks rolling custom solutions with frameworks such as Zend. Unless a real competitor emerges that will increasingly be the case.
Admin, the contrast between your coding purism and illiterate spelling is very amusing.
I really think you miss the point of Drupal. It’s natural for you to look at it in terms of your own needs - but as a programmer of elegant code for a beast the size of tradedoubler, yours aren’t the typical needs. Drupal is outstanding for fast-track development of complex sites, especially for non-programmers - but for programmers as well. Not everyone has huge resources or time to produce code with perfect elegance.
I don’t favour wordpress or joomla, but I certainly don’t dismiss them. Each is the ideal solution to a certain set of needs - just like drupal. The difference with drupal is that its constituency is that much bigger - non-programmers or (programmers wanting a quick start) who need to build richly functional sites affordably. This is the sweet spot in the market - and I don’t see it changing any time soon. Drupal is marvellous in what it does.
It’s interesting with the OO comments, since Drupal 7’s database layer is object oriented (based on PDO with an OO abstraction layer on top), and many other subsystems which need to be pluggable (caching for example, but several others) are also being rewritten for OO as well where that makes sense.
As someone who’s been contributing heavily to Drupal core for the past couple of years, I’ll happily admit there’s legacy code in there, but I’ll also quite happily say that as a project we’re not afraid to rewrite things at all, and have been doing that at quite a fast rate for Drupal 7. See http://drupal.org/node/224333 for a summary of API changes between Drupal 6 and Drupal 7, which obviously doesn’t cover internal refactoring at all. What we won’t do is mindless move everything to classes even when it doesn’t make sense.
I’m going to have to agree with Zack here… Full disclosure: I’ve been using Drupal for somewhere around 4 years now, and make my living doing it, so I am admittedly biased, however I think I can pose some interesting answers here.
First off, as Zack so elegantly pointed out, you basically need an army of developers if you want to beat another army of developer. Most other content management systems out there have a rather limited list of core contributors, so Drupal’s 700 number is rather monstrous. Additionally comparing this with “writing your own” more elegant code… that’s great, but you’re the only person who’s probably going to support it, and you’re DEFINITELY the only person who can support it easily. Drupal’s existing API’s bring everyone together on common ground, instead of needing to reinvent/learn the wheel each time.
With that said, let’s address the issue of “legacy” code. I think the Drupal community at large probably would admit that there are:
a.) Areas of core that are deep and dark and untouched for too long.
b.) Areas of core that are utilized every day and would benefit from a good refactoring.
Neither of these statements are particularly controversial, however there are a couple of great reasons NOT to address the issue, namely the fact that altering code within a system as large as drupal this many years into the game can have unintended consequences. Every system eventually begins to suffer from this. The difference is that Drupal, as a community, recognizes this and has taken MASSIVE steps to rectify it. During the entire Drupal 7 release cycle, a test framework, and tests for the greater majority of code within core, have been written. Long story short, we can rewrite an entire subsystem in the next release, and as long as it conforms with our tests, we’re VERY close to being able to call that new subsystem “done”.
Bottom line: I think it’s really short-sited to say “Drupal’s already dead for reasons X, Y and Z.” Drupal’s not dead, it’s a thriving community of developers passionate, not only about their chosen system, but about it’s future as well as its present. And that plus the foresight to prepare properly will keep Drupal around for a very long time to come.
Eclipse
Nathan,
You state the WordPress is more easy to configure and easier to use out of the box. No one who understands Drupal will argue this. Without taking anything from WP, it’s a great tool, part of the reason for this is that WP is designed to be a blogging tool. Of course it can do more but it’s forte is and always will be at blogging; no other platform is close. On the other hand, Drupal is designed to be a framework which, in theory, could do anything. You want an eCommerce site, social network, wiki site, portal, archive site, corporate identity, video sharing, personal homepage, desktop application, or even a blog? Drupal can do it. One of the downsides of being everything to everyone is that the fit and finish is sometimes lacking. There is currently a big push to increase usability in Drupal 7 as well as reaching out to designers at events such as the recent Design4Drupal in Boston. Both should help usability and UI issues.
You state that the code is weak. Howso? Please offer solutions, (or at least identify specific problems), every platform, Drupal included, can be improved. So let’s hear it what specifically have you identified?
If Drupal is so lame, why are so many people so passionate about it? It seems such a tremendous number of very large corporations (who presumably have the resources to develop however they wish) choose a shit platform with a complicated install running crappy code? (See http://buytaert.net/tag/drupal-sites for examples.)
If you like WP, more power to you! If Symfony meets your needs, by all means, knock yourself out. Learn it, use it, and contribute back. Ignore Drupal all together or offer some constructive criticism, but please don’t call it names.
Anyone can load up a framework, not understand it, and take uneducated pot shots. With all due respect, I’m smellin’ something sinky, but it’s ain’t Drupal.
-NP
@nonprofit & everybody really.
I’m in no position to argue my point anymore. On the 2nd May this year, I left my job at TradeDoubler and set off sailing around the British isles singlehanded. Apart from a bit of tinkering with ZF, I’ve not touched any code since then. I certainly can’t remember any specifics about Drupals innards.
People have raised valid questions, and points, and I don’t feel that I can give a proper, specific answer to them without diving into the code again.
The only thing I can offer is this….
I did (do) not like the code behind Drupal. If any one of my old team submitted a design like that, I’d have to sit down with them and re do it. This is my opinion, and these are my coding standards and specifications that I’ve developed over the years.
You may be passionate about Drupal, and indeed it seems you are, but I’m not. You may well say that it makes sense once you learn it, but I don’t want to learn it. I want indentifiable design patterns that I’ve seen before, and neat and tidy OO code. Yes, this is my own taste, and you don’t have to share it, but I didn’t just suddenly invent this idea that I want everything to be OO, I’ve developed that train of thought through having to work with code that wasn’t.
I have good, well founded ideas as to why it should be done this way, but as I said, I’m currently on a 21ft sailing boat, alfoat off the East coast of North England. I just don’t have the time or inclination to eleborate on that point further. Maybe oneday I will.
And please, don’t tell me I should be using c# or Java if I want OO. I like PHP, I’ve got paid to write it since version 3, and the fact that it does support (to whatever degree) OO means I can design, write, and manage the development of bigger and better projects, much more sucessfully that I ever could with proceedural.
Perhaps that is my downfall, my lack of understanding of hardcore procedural design methodologies, but since the world has all but forgotten proceedural coding, I don’t really care.
Now, please stop spitting your dummies out. I knew the Drupal community was going to dislike that post, and I knew that there’s nothing I could say that will make them turn on their baby. As I have said before, the Drupal community commands my absolute respect, and I think it is the epitome of an Open Source community. The product itself, however, just doesn’t cut it from my point of view.
So, can we please just agree to differ for now? I promise not to say anybody horrible things about your precious, and I, sincerely, wish you all the best of luck with it’s future.
I’ve also used PHP since v3 and I’ve actually moved from architecting Zend Framework applications to Drupal. I think the code criticisms of Drupal are way off the mark and find it to be an example of very good architecture. It’s not OOP as we know it and has more in common with AOP. This turns out to be a strength rather than a weakness in its problem domain - OO is not a golden hammer when it comes to designing a general-purpose CMS framework. It also means that a lot of coders immersed in OO don’t get a good grasp on the underlying patterns. For example, a senior coder on one of my teams dismissed Drupal as not following MVC, making modules harder to write. In fact it’s perfectly reasonable to apply MVC in Drupal, with modules acting as a controller accessing any model API’s you build as well as the API’s already provided. I now recommend new devs to read Pro Drupal Development completely and to consider the event-driven nature of the domain before looking at the code and passing any judgement.
It’s got to be said again - Drupal is shit. The main problem with Drupal is the massively consumption of time and its complete lack of functionality. Basically there is nothing good about Drupal.
The whole system is designed to look pretty rather than make websites. If you have to spend 1000 hours learning how to use a program, why bother? You are probably better off spending time on learning how to use what you currently use better - this will probably take about 10 hours as opposed to 1000.
The code behind Drupal really is awful - anyone trying to defend is falling into the “my system is better than yours” argument. People have a habit of thinking this about whatever system they are using. The most classic example of this is Mac users insisting that the Mac is easier to use than a PC - this is of course not true, as both are pretty eassy to use. The difference really lies in whether you are an expert or a novice. Macs for novices are much less scary and probably a bit easier to get around. Conversely, if you know what you are doing the PC is probably easier to use.
Well, I will be honest. I just want to bitch.
Drupal is such a hacked up crap, working PHP, .NET and many frameworks.
Drupal is just a cunt to code with, its painfull, its simplistic node model is coding with a broken arm.
I give up, a project which normally takes me 3 days is taking me weeks.
If you want a simple web site its fine. Otherwise its like polishing dog shit
Ok, vent over, I feel a little better now.
BTW, Zend_Framework is for more advanced developers. Trends such as drupal is more popular have no indication of quality, maybe just the type of developers adn web site people want.
How can you compare ?
Uh…how about the fact that one common function node_load() doesn’t even check that you’re passing it a proper value. Then sometimes through no fault of a module or 3rd party code, just simply human editor error (maybe they accidentally deleted something), you can be logging thousands of errors per minute in watchdog with broken queries to the database, tying that up. Breaking things down.
For what? 1-3 lines of code to check the value of the argument passed to node_load()? Lazy lazy lazy.
Or…maybe the fact that every module must be loaded and parsed with a ton of regular expression matches when the CMS bootstraps?
Or…well I guess the list goes on and on. I think most importantly the fact that it’s very limited in the server infrastructure it can run on is a big one for scalability. The race conditions and problems that Drupal have are just terrible.
It IS a decent FREE (important to note) open source CMS for smaller sites. If you want a quick site and can compromise with features and how things look or work.
However, on the other hand, if you have a more complex site or a site that gets a ton of traffic — you should NOT use Drupal.
It’s funny because I’ve personally seen several large companies go and use Drupal because someone who makes the decisions in these companies who doesn’t know anything about programming….Funny enough, hears that Drupal is the bomb and they all of a sudden then use it and think it’s going to be enough.
It’s really really sad and it makes my day at work a living nightmare. In fact, the amount of hours and money spent adding custom modules and templates and working with and around the limitations of Drupal…A much simpler, cleaner (in terms of codE), faster, and more scalable site could have been made with a PHP framework. Something like CakePHP or CodeIgniter. They lend themselves well to rapid development.
So isn’t that funny…Drupal is SLOWER than it would be to use a PHP framework… YES that’s is an absolute FACT. I’ve done projects with Drupal and without. I have the hours logged on this.
Don’t choose
Cure Congestive Heart Failure by Aldactone
Cure Pheochromocytoma by Inderal LA
if you take possession of nitrates, time again prescribed for thorax ‘ trial, as this may cause a unexpected, unsafe slope in blood pressure.
Debate
Pneumonia treatment by Bactrim DS
your overall salubriousness reputation with your doctor to protect that you are thriving ample supply to promise in procreative activity. If you circumstance breast suffering, nausea, or any other discomforts during sex, aim knee-jerk medical help.
Contraception treatment by Estrostep FE
Cure Hypertension by Zestril
To address this myth of having to write from scratch for a website when using custom code / framework - developers build up a library of code over time, it doesn’t take me any longer to add comments to a Zend project than it did to a Drupal one, because it is already written.
Where I work, most of the time we find Drupal projects take longer, simply due to any time we have to go outside Drupal’s comfort zone it is frankly painful and as for implementing the design, it takes twice as long due to it’s monolithic, bitty, theming system, Drupal is not popular with our designers…
As for performance, it is really pretty poor, when you “scale” Drupal you are doing it with one hand tied behind your back as you scaling something which starts out as a slow, memory hog, frameworks / custom code is far more scalable.
I made the mistake of accepting a Drupal based project not long ago. I dont think I’ve ever had a larger headache. Im used to Symfony and Zend Framework and building from scratch or a repository of working components (either mine or those from the community). This has never phased me. But once i started delving into Drupal with “Pro Drupal Development” in hand i was absolutely mortified. The hoops one has to jump through to get simple things done in the theming layer is ridiculous. The from API is absolutely horrendous. Needless to say ill never take another Drupal Project… Ill stick with my frameworks.
[...] This guy certainly thinks it is Sure, I got the blog working, but actually managing the content of a Drupal website via the admin area was tedious at best. It’s unintuitive, and if I’m going to be using a Content Management System, then I jolly well expect managing content to be the top priority when it comes to making things quick and easy.…[linky] [...]
its easier to administer you penis dipped in honey than use drupal.
created by a cock sucker for other cock suckers.
fuck drupal
leave a reply