×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Drupal Competes As a Framework, Unofficially

timothy posted more than 2 years ago | from the what's-in-a-name? dept.

PHP 178

tgeller writes "Drupal developer Ben Buckman attended the BostonPHP Framework Bake-Off with the hopes of pitting the CMS against CakePHP, Symfony, Zend, and CodeIgniter. He was told that he couldn't because Drupal is 'not a framework,' a response he felt was 'coder-purist snobbery ("it's not a framework if you build any of it in a UI").' So he decided to unofficially compete in the back of the room by accepting the challenge of building a job-posting app in 30 minutes, while the official competitors did the same from the stage. He recorded the results, which are impressive. In the process he raised the question: What is a framework, anyway?"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

178 comments

Steak (4, Insightful)

Anrego (830717) | more than 2 years ago | (#35307104)

I’d call Drupal a tool with a framework for extending said tool rather than a straight framework.

Why? Just what my gut tells me. At the end of the day it doesn’t really matter (save for contest qualification purposes I guess). Use what does the job for you.

Re:Steak (0)

Anonymous Coward | more than 2 years ago | (#35307182)

I have some limited drupal esperiance, and am doing a project in cakephp currently. Primarily because it can be ugly, annd drupal has always felt weak when it comes to pulling machine readable data out of relationships (especially many to many).

Maybe i just need to use something like organic groups, but it looked easier for to just build the db, bake, and cheese away at the views.

Not done yet though, so time will tell.

PHK knows (0)

Anonymous Coward | more than 2 years ago | (#35307110)

For anyone needing a clarification, ask Poul-Henning Kamp.

Coder-purist snobbery (0)

mysidia (191772) | more than 2 years ago | (#35307130)

a response he felt was 'coder-purist snobbery

More like VI/Emacs-wielding neo-luddites.

So afraid of the fancy new CMS technologies, they have to ban them, for fear their frameworks will be obsoleted by them.

Next thing you're gonna tell me... Trixul and Jako are not frameworks. And Facebook Apps don't count as applications.

Re:Coder-purist snobbery (1)

mwvdlee (775178) | more than 2 years ago | (#35307200)

It basically makes this framework competition sound like the paralympics.
"You're not allowed to compete if you're more capable than us".

I never thought I'd see the day (5, Funny)

Megor1 (621918) | more than 2 years ago | (#35307140)

I'd never thought I'd see the day when PHP developers would have "'coder-purist snobbery"!

Re:I never thought I'd see the day (0)

Anonymous Coward | more than 2 years ago | (#35307156)

It makes me very sad...

Re:I never thought I'd see the day (0)

Anonymous Coward | more than 2 years ago | (#35307168)

As a coder-purist snob myself, my opinion is that using PHP disqualifies you from being either of the three.
Honestly, why would you build a framework in a cobbled-together templating language?

Re:I never thought I'd see the day (1)

Anonymous Coward | more than 2 years ago | (#35307198)

As a coder-purist snob myself, my opinion is that using PHP disqualifies you from being either of the three.
Honestly, why would you build a framework in a cobbled-together templating language?

Because your time is worth less than a Java programmer's is, and you know it? :)

PHP supports closures (as of 5.3) (2)

rsborg (111459) | more than 2 years ago | (#35307276)

As a coder-purist snob myself, my opinion is that using PHP disqualifies you from being either of the three.
Honestly, why would you build a framework in a cobbled-together templating language?

So where's your closure support, Java? C++?
Even ObjectiveC and *javascript* support closures, for crying out loud (something as cool as jQuery wouldn't exist without closure support).

Functional programming is a serious win for code reuse and extensibility.

Re:PHP supports closures (as of 5.3) (2)

oldhack (1037484) | more than 2 years ago | (#35307342)

You get the same thing with class instances.

What's with the buzzword?

Re:PHP supports closures (as of 5.3) (1)

Zenin (266666) | more than 3 years ago | (#35308452)

Because you don't get the same thing. By your logic it would be valid to say of class instances, "You get the same thing with struct pointers. What's with the buzzword?"

At best class instances offer a very limited subset of functionality that true closures provide. Worse still, even the attempt at replicating the basic functionality of a closure using class instances requires much more (and far less clear) code. In many languages the attempt implies spaghetti coding.

Re:PHP supports closures (as of 5.3) (1)

exomondo (1725132) | more than 3 years ago | (#35308832)

By your logic it would be valid to say of class instances, "You get the same thing with struct pointers. What's with the buzzword?"

Not really, sure a struct is effectively just a class but a pointer is not the same - or even close to the same - as an instance.

Re:PHP supports closures (as of 5.3) (2)

larry bagina (561269) | more than 3 years ago | (#35307502)

c++0x has lambda functions/closures.

To hell with ALL of you puppies! (1)

Chas (5144) | more than 3 years ago | (#35308242)

If you're not at LEAST using a punch card and tape system, you little spoiled weasels are doing it wrong!

I remember when we hand-encoded the bits on the drive with magnets! AND WE WERE THANKFUL FOR THE MAGNETS!

There was even a time when we had to create the interface on the screen, on the fly, by hand-aiming the gun in the back of the a CRT!
In the snow!
Up hill!
BOTH WAYS!

AND WE WERE THANKFUL FOR IT!

This precompiled code stored in binaries and libraries thing sounds dodgy. It'll never last!

Re:To hell with ALL of you puppies! (1)

GaryOlson (737642) | more than 3 years ago | (#35309088)

Did you forget how to direct the honeybees to create distortion free wax recordings.....AGAIN!

And your audio playback lacks punch; remember to use the water smoothed igneous rocks instead of the sedimentary ones.

Re:PHP supports closures (as of 5.3) (1)

maraist (68387) | more than 3 years ago | (#35308200)

"something as cool as jQuery wouldn't exist without closure support"
jQuery is first-and-foremost a query language that merges 3 or 4 haphazard web namespaces into a single easy to use query-syntax. It's basically xpath on steroids. This plus a wealth of library operations that allow DOM / style manipulation in a more concise manner than straight-javascript and, of course, in a cross-browser manner..

THIS is what makes jQuery cool.

This drew the attention of developers which created a wealth of modules that's helped propel it well into the future.

I don't get the closure purism (perl, python, lisp, etc). It's nothing more than wrapping a pointer to heap allocated memory in a class. E.g. C++, Java classes. Or with function-pointers in C.

  function op(d) { return function(e) { return d + e; } }
  var f = op(9);
  for (var x = 0; x < 10; x++) { sum += f(x); }

v.s.

typedef int (*op_t)(int);
int myfunc(int x) { return 9 + x; }
op_t op = myfunc;
for (int x = 0; x < 10; x++) { sum += op(x); }

Not a whole lot of savings. I realize these arn't exactly the same, lamba builders allow slightly more abstraction, but from a practical matter - e.g. adaptive event handling / callbacks, it's the same deal.

Re:PHP supports closures (as of 5.3) (1)

mabinogi (74033) | more than 3 years ago | (#35308682)

Those two pieces of code are not equivalent, and only show that you used an example which doesn't require closures.
The direct Javascript version of the C you wrote would be:

function op(e) {return 9 + e;}
for(var x = 0; x < 10; x++) { sum += op(x);}

One contrived example of superfluous closures doesn't make the concept useless.

Re:PHP supports closures (as of 5.3) (2)

icebraining (1313345) | more than 3 years ago | (#35308724)

The C code is very different from the Javascript code, because the 9 is bound at compile time. What makes a certain function a closure is how you can have multiple instances of the same function with different variables bound to it.

Furthermore, since they bind to variables, changing the value of the variable outside the closure is reflected inside it:

function a() {
    var x = 1;
    var c = function() { return x; }
    x = 5;
    return c;
}
 
var b = a();
print b(); //prints 5.

Re:PHP supports closures (as of 5.3) (0)

Anonymous Coward | more than 3 years ago | (#35309086)

LMAO! Because PHP is a functional programmers dream language...

Re:I never thought I'd see the day (1)

MrEricSir (398214) | more than 2 years ago | (#35307354)

Plenty of great software has been written in C++, a language I think even its inventors would admit is "cobbled together."

Re:I never thought I'd see the day (1)

maraist (68387) | more than 3 years ago | (#35308276)

They launched space shuttles with assembly. This is more a testament to the coders given tight requirements that hardware just couldn't provide, and less to the language.

I've recently gone back to C++ programming after 12 years of perl/python/PHP/Java/bash/SQL. O.M.G. do I hate C++. All these other languages were created in response to C/C++'s common-coding pitfalls. String processing, memory management catch-22s, loose coding contracts, horrid cross-platform capability (Windows/Linux/Mac might as well have different source-code for all the damn ifdef's), insane compilation times (even on modern i7s). Since the core capabilities of C/C++ are so minimal, it's hard to link two 3rd party libraries together because they'll have incompatible base frameworks / assumptions. So every team re-invents anything the native OS/platform didn't provide.

That being said, I'd hate to see an OS written in anything other than C - but by definition, they enforce a common coding convention to all higher layers, and can't leverage 3rd party libraries, so they don't have many of these concerns.

Re:I never thought I'd see the day (1)

MrEricSir (398214) | more than 3 years ago | (#35308622)

It's interesting you should mention the OS issue. At my day job, I develop FLOSS software in a language called Vala. It's a source compiler that compiles a Java/C#-like OOP language into C.

So you get the optimization and compatibility of C code with the pleasantness of a modern language. Perfect? No, but I think it's a step in the right direction, and you *could* program an OS in Vala.

Re:I never thought I'd see the day (1)

icebraining (1313345) | more than 3 years ago | (#35308796)

That being said, I'd hate to see an OS written in anything other than C

Then you'll hate this :)

Cosmos is an operating system project implemented completely in CIL compliant languages. The team is committed to using C#, however any .NET language can be used.

It does compile AOT, though.

Re:I never thought I'd see the day (1)

Max Romantschuk (132276) | more than 3 years ago | (#35309640)

As a coder-purist snob myself, my opinion is that using PHP disqualifies you from being either of the three.
Honestly, why would you build a framework in a cobbled-together templating language?

Because PHP runs _everywhere_.

Modern PHP has very little in common with the cobbled together PHP+HTML messes we used to se back in the 90s. Sure, it has it's share of warts, but if you'd care to educate yourself you would find that you can do very professional work on PHP with very professional tools. I've yet to see something that rivals Zend Studio combined with Zend Debugger when it comes to tracking down a weird issue, even on a remote server.

My favorite language is Python, but to dismiss PHP completely is simply ignorant these days.

Re:I never thought I'd see the day (1)

sco08y (615665) | more than 2 years ago | (#35307264)

But seriously, if you're using PHP and you start worrying about The Rules, you've thrown out your only reason for using PHP at all.

Re:I never thought I'd see the day (2)

Foofoobar (318279) | more than 3 years ago | (#35307840)

if you are using PHP and want purity with the ease of scripting language, you seriously need to jump ship [codehaus.org] .

Re:I never thought I'd see the day (1)

sg_oneill (159032) | more than 3 years ago | (#35308756)

if you are using PHP and want purity with the ease of scripting language, you seriously need to jump ship.

Whoops, I think you meant to link to this site [slashdot.org]

FAILjoke. (1)

sg_oneill (159032) | more than 3 years ago | (#35308784)

welp, I messed that joke up.

(also, am I the only one who hates that infernal "Slow down cowboy. Its been 1 minute since you last posted" nonsense :( ")

Re:FAILjoke. (1)

Foofoobar (318279) | more than 3 years ago | (#35308862)

Its ok... your a PHP developer. People don't expect much of you. (see thats how you deliver it... and thats what your mom said)

Re:FAILjoke. (0)

Anonymous Coward | more than 3 years ago | (#35309368)

Its ok... your a PHP developer. People don't expect much of you. (see thats how you deliver it... and thats what your mom said)

Its a sad state that your supposed to include teh grammer errors too huh? But i guess if you didn't, then s/hitler/binladen/ wouldn't have anything to work with.

Re:I never thought I'd see the day (0)

Anonymous Coward | more than 2 years ago | (#35307272)

I'd never thought I'd see the day when PHP developers would have "'coder-purist snobbery"!

It makes perfect sense. Code snobs are just geeky reactionary conservatives.

I never meant to say that the Conservatives are generally stupid. I meant to say that stupid people are generally Conservative. I believe that is so obviously and universally admitted a principle that I hardly think any gentleman will deny it. -- John Stuart Mill

There are two sorts of PHP developers (4, Insightful)

SmallFurryCreature (593017) | more than 3 years ago | (#35309096)

The first you don't hear much about, they know the language, its stengths and its limitations and simply use it because nothing else out there can compete.

Then you got the second kind, that will be fuming at the last bit in the previous paragraph. They are forced to use it for some reason, mostly because the latest language they wish to use simply isn't supported enough. Personally, I think these are the lesser developers, the bad photographers who think if only they get a Hasselblad they will turn into a top class photographer instead of having to use this cheapo poloraid that nobody could ever possibly use to make art.

Personally I also think frameworks are silly. If you can lash up a site in 30 minutes, then the request simply isn't distinctive enough. Your site will be the Xth among thousands and fail. For the next job board site, you need to add something new, do it different, improve the process/experience else the monsterboards will simply keep the position they got.

If a wizard can write your code, you are not a developer but an assembly line worker. Granted there is a living to made at this, but please, don't call yourself a developer, you are a code monkey.

It is amusing for me to see the developers that every problem they encounter, they say: Oh if only we used tech X, this would be easy... WAY to sell your talent kiddo. It is even more amazing to see when they get away with it. Companies running everything from PHP, Perl, Python, Ruby on Rails, ASP and god knows what else, in the same company and in one extreem case, the same site... I don't care how much you hate an individual language, more then one you need a BLOODY good reason, more then two and you are insane.

But hey, keep looking for the magical language that no longer requires you to express yourself to achieve what you want. If people could write amazing code in assembly then why can't you make the language the project uses just work?

Really, if you claimed that you would be a better driver if only you had a proper car, every real driver would laugh at you. Instant poloroids are used by the pro's. Some serious art is produced with nothing but paper and charcoal.

But for a website, you need the latest tech so you can never learn all its secrets. Right.

Alright. this IS drupal pushing. (-1, Redundant)

unity100 (970058) | more than 2 years ago | (#35307184)

drupal drupal drupal. it hasnt been just a month after the last drupal article was posted.

i want to know why slashdot is so hardly pushing drupal. a developer-hostile mess, whereas there are a lot of other cmses around, some preferred by nasa etc.

more on drupal, from the thread which we have discussed under the last drupal posting - not around a month ago even - is below :

http://slashdot.org/comments.pl?sid=1947992&cid=34855044 [slashdot.org]

Re:Alright. this IS drupal pushing. (1)

Anonymous Coward | more than 2 years ago | (#35307240)

> there are a lot of other cmses around, some preferred by nasa etc.

Several NASA sites run on Drupal.

http://buytaert.net/nasa-using-drupal

Try having a clue before you post.

Re:Alright. this IS drupal pushing. (0)

Anonymous Coward | more than 2 years ago | (#35307318)

Did you bother reading the article? It shows that if you're a competent programmer then Drupal is not a "developer-hostile mess". And it just so happens that Drupal works fine for lots of very large publishing organizations.

Can't tell whether you're just trolling, attention-whoring for your project, or both. In any case, this definitely shouldn't be modded insightful imho.

Re:Alright. this IS drupal pushing. (0)

Anonymous Coward | more than 3 years ago | (#35307878)

unity100, by his own admission [slashdot.org] , has never even completed a Drupal project. He "investigated" it at a client's request, clearly (from many of his comments in that thread) didn't know what the fuck he was doing, and scared the client away from it.

And now he badmouths it (and the people who've actually bothered to learn to use it effectively, you know, those "one click admin crowd" morons) every chance he gets. Seriously, 7 out of 53 comments in that last thread are him bashing Drupal.

It's getting a little old, unity.

Re:Alright. this IS drupal pushing. (1)

gnapster (1401889) | more than 2 years ago | (#35307460)

This puts the new slashdot design in perspective. Are you not glad that slashdot is not using drupal?

Drupal is not a framework (1)

Anonymous Coward | more than 2 years ago | (#35307202)

http://en.wikipedia.org/wiki/Software_framework

It's an excuse for designers to call themselves developers.

Re:Drupal is not a framework (1)

billcopc (196330) | more than 3 years ago | (#35307622)

Great, now I don't feel so bad for sucking at Symfony.

Frameworks seem to embody everything I hate about modern programmers. Sadly, I gotta eat, so I have to play ball.

Re:Drupal is not a framework (1)

JonySuede (1908576) | more than 3 years ago | (#35307816)

When you work as an architect in a corporate setting framework are great since they allow you to impose your will upon the code monkey

Re:Drupal is not a framework (1)

icebraining (1313345) | more than 3 years ago | (#35308948)

What exactly is so wrong with frameworks?

If you consider the hardware's that all the code running on a machine is a single program, then an operating system fits the description.
It implements IoC, since it's the OS which calls the user code when appropriate, it implements a default behavior, they're usually extensible and user code definitively can't change its code.

Drupal considered (1)

sgrover (1167171) | more than 2 years ago | (#35307212)

A couple years ago, I needed to decide on the framework/approach for a large scale web based app. PHP/Postgres support were required (due to the use of another tool that used these and we would need to integrate with). I looked at most of the frameworks listed in the summary. There were two that stood out (for my specific needs) - Zend Framework, and Drupal. Not Drupal as a CMS, but Drupal as a framework. We ended up opting for ZF because the others were a little too rigid in their approaches.

So, to hear years later that Drupal is *not* a framework is surprising. Especially considering how much it has advanced/stabilized/improved since my evaluation.

I love DruPal's TV Show (0)

Anonymous Coward | more than 2 years ago | (#35307218)

I'm a big fan of DruPal's TV show: "DruPal's Drag Race" (It's on the LOGO TV network.) I hear Kevin Rose will be on next season!

And they have great timing (1)

BigSlowTarget (325940) | more than 2 years ago | (#35307222)

And the article hits Slashdot just as they take down the Drupal servers for a 12 hour migration to Git. That's some good timing.

"Framework" isn't just a buzzword... (4, Funny)

MrEricSir (398214) | more than 2 years ago | (#35307236)

...it's a way to seamlessly align the holistic design-process in an integrated, next-generation infrastructure using best practices and maximizing ROI.

Going forward, frameworks are a paradigm shift in cost-effective and value-added solution development.

Re:"Framework" isn't just a buzzword... (3, Funny)

ChipMonk (711367) | more than 2 years ago | (#35307290)

You left out "XML-aware" and "dynamic response".

Re:"Framework" isn't just a buzzword... (4, Funny)

MrEricSir (398214) | more than 2 years ago | (#35307330)

Great, let's touch base. By not letting that slip through the cracks of our knowledge process, we can take our core competencies to the next level and increase our brand visibility in mission critical logistics.

Re:"Framework" isn't just a buzzword... (0)

Anonymous Coward | more than 3 years ago | (#35307808)

Can you ping me an email about this?

Re:"Framework" isn't just a buzzword... (1)

corychristison (951993) | more than 3 years ago | (#35309670)

On a more serious note: MrEricSir, how much do you charge? I need you to rewrite the content on my website. We all know buzzwords sell! I'm just not that savvy, I guess..

Re:"Framework" isn't just a buzzword... (0)

Anonymous Coward | more than 3 years ago | (#35308476)

Need to throw in "cloud" in there a few times as well. "Drupal is so cloud ready that lightning shoots from the .tar.bz2 distribution, and when you extract it hurricanes form!"

Re:"Framework" isn't just a buzzword... (1)

localman (111171) | more than 3 years ago | (#35308706)

Greatest use ever of the phrase "paradigm shift": NewTek Revolutions - Video Toaster Demo [youtube.com]

That was the first time I ever heard it and I fell in love. Everything even remotely interesting that my friends and I did during the 90's would at some point be called (in deep sonorous tones) a "paradigm shift".

I was ever so pleased when it became a weasel buzzword.

framework (2, Interesting)

mattack2 (1165421) | more than 2 years ago | (#35307256)

What is a framework, anyway?"

What are Frameworks?

A framework is a hierarchical directory that encapsulates shared resources, such as a dynamic shared library, nib files, image files, localized strings, header files, and reference documentation in a single package. Multiple applications can use all of these resources simultaneously. The system loads them into memory as needed and shares the one copy of the resource among all applications whenever possible.

http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WhatAreFrameworks.html [apple.com]

I know that's not what you were really asking...

Re:framework (1)

DiegoBravo (324012) | more than 3 years ago | (#35308168)

"If you wish to converse with me," said Voltaire, "define your terms."

For a lot of people (readers of the design patterns ideas) a framework is a set of whatever things that help/enforce a well proved design, so you don't have to invent a new design for a lot of well known requirements presented on most applications. That's a bit different (but not much!) from a library or toolbox that helps to implement whatever design.

Of course, people may assign another definition or concept to the term...

Re:framework (1)

tyrione (134248) | more than 3 years ago | (#35308744)

Good for a lot of people, but Frameworks go back to 1988 and the original NeXT 2.0 Operating System.

It's a long way (3, Insightful)

TheModelEskimo (968202) | more than 2 years ago | (#35307296)

...from the elephantine Drupal to a use-as-you-need-it framework like Zend. So, "use the right tool for the job" is a huge part of this. Personally I err on the side of "less is more" and look at my local Drupal community and see people who are picking a kitchen sink tool because they have limited time and resources. Not the sort of example I race to follow.

My experience with another large CMS/CMF taught me that maintenance costs (which have to be passed on to clients) really start to add up quickly with the behemoth-sized packages, if you have a very active client. And if you're developing a small site with Drupal, and think of yourself as a moderately technical person, I sincerely ask you why you're not using something like Processwire instead. The last three people I saw do this did it because Drupal was "what they knew." That's uh...interesting. Why not just learn several tools that can fit into a more flexible toolchain? Drupal has one heck of a footprint!

The summary mentions a GUI, so it's probably worth bringing up Django -- an otherwise all-code framework that comes with its own admin panel GUI already built.

Re:It's a long way (1)

GMFTatsujin (239569) | more than 3 years ago | (#35307620)

I'm building a site on Drupal now exactly because it's what I know.

What, should I use something I *don't* know?

I know other webby develop-o-matic, framworkified tools too, and it's true that I'm not super-convinced that Drupal is exactly right for the job... but getting the job done well is more important to me that getting the job done perfectly, when the "perfect" solution is something I haven't even seen yet. Like, nebulously perfect. Perfect in a way I don't yet know... and have no time to snoop out and master the way I have already with Drupal.

Having a big, flexible toolbox is good, but at some point you say, "Yeah, this'll the job" and get to it. Let me put to use what I've learned.

(That being said, I just subcontracted a Drupal job from a designer whose client wants five pages on the site. FIVE CRAPPY PAGES. I just about tore my eyes out with rage.)

Re:It's a long way (0)

Anonymous Coward | more than 3 years ago | (#35307802)

I'm building a site on Drupal now exactly because it's what I know.

What, should I use something I *don't* know?

"I'm building the site right now" isn't really the time to start learning new stuff, so don't be too hard on yourself. But next time, you could look at learning some other options before you have to commit to a project that might favor a different approach. A lot of people do this.

Re:It's a long way (1)

Foofoobar (318279) | more than 3 years ago | (#35308640)

Better design helps with a more flexible codebase. Having to code around Drupal rather than just placing controller/model/view in their appropriate directories and allowing the container to manager plugins for ACLs/etc, can create a spaghetti coded nightmare in the longrun. Sure you can whip up code samples quickly but is it a longterm, maintainable and extensible code structure? No because it lacks structure. This is something that a framework provides.

Go GROOVY/GRAILS [grails.org] !! (my plug)

Re:It's a long way (1)

Anonymous Coward | more than 3 years ago | (#35308272)

Django has a lot going for it, but its ORM is horrid -- at least for anyone coming from SQLAlchemy. No views? No stored procedures? Extremely limited dynamic query building? Bah.

I use Django at work, and it does what we need, but I'm not about to go recommending it to anyone.

Drupal is shit. PHP is shit. (-1, Troll)

Anonymous Coward | more than 2 years ago | (#35307302)

Can we please stop talking about these projects?

PHP is a slow, crufty Java wannabe with no VM, and Drupal is like PHP-Nuke crossbred with Wordpress and fertilized with the souls of the damned.

Together, PHP and Drupal are largely responsible for turning the once-profitable web application business into a playground for teenagers and just-out-of-school "developers".

Once the business folk found out how cheap it could be to get their shitty web application hacked together by a throwaway kid-coder with halitosis, a stained T-shirt and stinky feet, that was it. Web developers will never have the privilege of writing decent code for decent pay ever again.

If PHP magically stopped working one day, salaries would rocket upward.

Re:Drupal is shit. PHP is shit. (0)

Anonymous Coward | more than 2 years ago | (#35307420)

Sucks to be you I get over $100/hr programming in *gasp* PHP and no I don't live in California or NYC.

Re:Drupal is shit. PHP is shit. (0)

Anonymous Coward | more than 3 years ago | (#35307492)

No, you don't.

Re:Drupal is shit. PHP is shit. (0, Funny)

Anonymous Coward | more than 3 years ago | (#35307494)

Some fat chicks get 200 bucks an hour to suck cock. Doesn't make them anything special....

Re:Drupal is shit. PHP is shit. (0)

Anonymous Coward | more than 3 years ago | (#35307680)

Sucks to be you I get over $100/hr programming in *gasp* PHP and no I don't live in California or NYC.

Hahahahahahahaha.

Oh, and this one's for you. [penny-arcade.com]

Re:Drupal is shit. PHP is shit. (0)

Anonymous Coward | more than 2 years ago | (#35307468)

Mod parent up.

Re:Drupal is shit. PHP is shit. (2)

tgeller (10260) | more than 3 years ago | (#35308490)

Summary: "I hate Drupal because it undermined my high-priced business". If this was a troll, nice work!

Re:Drupal is shit. PHP is shit. (1)

Required Snark (1702878) | more than 3 years ago | (#35309312)

You're absolutely right. PHP is so bad that there are no important applications written in it.

That is why there is, in fact, no such thing as Wikipedia. The WikiMedia system does not exist either. http://en.wikipedia.org/wiki/Wikipedia#Software_and_hardware [wikipedia.org]

In a similar fashion there is no VM ZEND engine. http://en.wikipedia.org/wiki/Zend_Engine [wikipedia.org]

And I hate to break it to you, but there is no Santa Clause.

Re:Drupal is shit. PHP is shit. (2)

SimplyGeek (1969734) | more than 3 years ago | (#35309412)

Yeah, how dare a technology come around that commoditizes our business! *shakes fist at the moon*

You're in the same league as graphic designers bitching about 99Designs. How about other now-commodity stuff like ODBC drivers? There used to be entire companies around that one piece of tech. Now it's something we expect to just work as a matter of fact.

If that means the bar is lower for web development, then so be it. Yes, more morons will get into the game. But so will competent people who otherwise may not have. In the end, it makes web development more affordable and within reach of more people. If that's not a win, I don't know what is.

What is a framework? (1)

jc42 (318812) | more than 2 years ago | (#35307338)

Easy. A framework is whatever my product has that yours (and my other competitors') doesn't.

Oh, and if our products have a similar feature, but you use different words to describe it than I do, yours is also disqualified.

Drupal is a pain (3, Insightful)

pacergh (882705) | more than 3 years ago | (#35307514)

You may be able to argue Drupal, or even Wordpress, are frameworks. Nevertheless, Drupal is a bear to work with, fickle, frustrating, and overly complex.

Perhaps for complex websites it's worth it, but I don't make complex websites. I make simple ones. The few times I tried to use Drupal to do so they became far from simple.

I'd rather code from scratch than use Drupal.

Re:Drupal is a pain (2)

Narcocide (102829) | more than 3 years ago | (#35307722)

You know you're right. I know you're right. The problem is that there are so many horribly inexperienced, disorganized, and utterly belligerently incompetent web programmers out there that they give the few of us who actually know our asses from a hole in the ground a bad name. The perception amongst the broader small and medium sized business community (a.k.a. 90% of all available clients) is that if you're not using a framework you can't possibly know what you're doing. They think there's no possible way someone could be experienced enough to make a secure, efficient, and stable website simple enough that it might cost less to build it from scratch and maintain it than the "equivalent" product created via an infinite amount of Joomla or Drupal customization.

Though it seems like nobody who has only bought websites and never made one themselves has ever survived the financial damage of making this mistake the first time, so the myth persists because none of the clients out there know their asses from a hole in the ground either.

Re:Drupal is a pain (1)

ameoba (173803) | more than 3 years ago | (#35309404)

They think there's no possible way someone could be experienced enough to make a secure, efficient, and stable website simple enough that it might cost less to build it from scratch and maintain it than the "equivalent" product created via an infinite amount of Joomla or Drupal customization.

What they're more concerned about is whether the next guy to come down the pipe will be experienced enough to quickly pick up your code-base & make the needed changes effectively. If you use a standard framework, you're quickly, cheaply & easily replaceable.

Definition of a framework: (1)

Narcocide (102829) | more than 3 years ago | (#35307602)

framework
[freym-wurk]

–noun

1.
a skeletal structure designed to support or enclose something.
2.
a frame or structure composed of parts fitted and joined together.
3.
something housewives and little girls use to pretend that they can write software.
4.
work done in, on, or with a frame.

Re:Definition of a framework: (0)

Anonymous Coward | more than 3 years ago | (#35308986)

Sexist post is super sexist.

Framework, n (0)

toxonix (1793960) | more than 3 years ago | (#35307736)

An API or library which attempts to save the engineer from him/herself, but ends up suffocating the engineer by collapsing around him.

Competing in a PHP contest (0, Funny)

Anonymous Coward | more than 3 years ago | (#35307752)

Competing in a PHP contest is like running in the Special Olympics...

...well, you know the rest. ;)

It's not all about development speed. (0)

hobo sapiens (893427) | more than 3 years ago | (#35307906)

from the summary:
"So he decided to unofficially compete in the back of the room by accepting the challenge of building a job-posting app in 30 minutes, while the official competitors did the same from the stage"

ok. so Drupal allows you to build a fully "functional" site in 30 minutes. Congratulations, skippy.

Q: What happens when said site starts seeing real traffic?
A: It completely buckles under the load because some amateur Drupal contributor is doing something stupid like running a query inside of a loop. Before someone touts caching, just remember that caching is no replacement for a properly written query.

Q: What happens when you need something outside of what you can find in a module?
A: Code it yourself. Good luck with that. Gotta learn the byzantine framework now.

The benefit to using a bonafide MVC is that MVC is an established pattern. Once you've used one, you have the basic concepts, from there it is a matter of figuring out whether something is more config based (like Zend) or more convention based (like cake).

Drupal, while using some cool practices like IoC and so on, isn't really like anything else out there. Having made a few Drupal modules, I can say that Drupal was very counterintuitive in how it handled forms. I also did not enjoy the database abstraction layer. The hooks are cool, though.

Actually... (3, Interesting)

dandaman32 (1056054) | more than 3 years ago | (#35307990)

(This post contains shameless self promotion)

I think GUI elements are an essential part of a web development framework nowadays. I maintain a small open source CMS called Enano [enanocms.org] . It's very basic, but during the course of its development I've written a ton of GUI building-blocks, among other frameworkey things, and documented the APIs for them so that plugins can use the same features. Regarding the GUI elements, I think consistent interfaces are an important part of any web application. Thus, what better way is there than to use a good, solid framework that, among its other jobs, takes care of some of the GUI design ugliness for you? Stuff like a standard way to present and validate forms, show message boxes, log in users, provide visual feedback for a process, etc.

In my opinion, a framework should do more than just provide a bunch of random pick-and-choose APIs that you can use. It should take care of the boring details you don't want to have to rewrite for a web app, like user account management, sessions, user data, database abstraction, that kind of thing. That's why people are writing applications using software like Drupal and Enano: they want to write a web app that does what it needs to do without having to reinvent the wheel. I'm currently using Enano as the foundation for an e-commerce site (contracted project). Yeah, eating my own dog food, but shows that it can be easy to take something like Enano/Drupal/Wordpress and use its existing, established core features to write a whole new application that uses those features.

Yes, I've used a more traditional framework before (CodeIgniter). It's great, and I love its design for basic applications, but you still have to write your own user management and a lot of other prerequisites to create something like an e-commerce site. In contrast, I've developed the entire e-commerce plugin with about 50-60 hours of work, including a couple of very minor modifications to the core.

Re:Actually... (1)

Shados (741919) | more than 3 years ago | (#35308116)

Totally agreed.

If, in this day and age, you're making a website from scratch, you're doing it WRONG. Exception only for specialized web applications that try to do "thick client" stuff on the web (let say something like gmail).

For normal public facing sites, or intranets, if you don't use a CMS, you'll have to replicate basic stuff for nothing. Sure, stuff like ASP.NET or PHP/Ruby/Python/Whatever frameworks will handle low level authentication, data access, navigation and whatsnot, but a CMS will give you a working web sites, with all that already in a working state, and you just need to add your styles, template, and business-specific logic and you're done.

Being a .NET dev, I use Umbraco (the best one is SiteCore by a landslide, and not just if you're a .NET dev...its just impossibly expensive. Worth it if you can afford it though). It handles all the stuff thats common to all websites, and not an inch more. Then doing anything "from scratch" that would take a few hours or days takes a few minutes, and you're not stuck with precanned impossible to modify garbage like some other major CMS will force on you: everything is easy to modify.

There's a million CMS out there in all flavors that offer all level of abstractions and specialization, depending on your requirement. Pick one, and stop wasting your time doing garbage from scratch.

Re:Actually... (1)

denmarkw00t (892627) | more than 3 years ago | (#35309364)

First I saw:

you just need to add your styles, template, and business-specific logic and you're done.

and then I saw this:

Being a .NET dev

Now, I've only used a couple PHP frameworks and only done anything with one particular CMS (don't even remember what it was). But when I think of a framework, I think of staying out of the way. Something like CodeIgnitor or Kohana (personal favorite right now). When I think of CMS I think biiiiiggggggg. That doesn't mean they don't have a place, but if you're goal is something complex in functionality and simple in design, then a framework is the perfect middleground between From Scratch and Too Big to Handle.

If your approach to every project is "There's a CMS for that!" then you are probably doing it wrong.

Re:Actually... (1)

Anonymous Coward | more than 3 years ago | (#35308584)

I maintain a small open source CMS called Enano

Is it that hard to put "PHP" somewhere on the site, or are you so ashamed? It took way too many to clicks to finally find out that it's a PHP project in the admin handbook.

Drupal sucks (1)

mmj638 (905944) | more than 3 years ago | (#35308416)

Drupal has all the "everything is be a module and go in a box in some column" limitations of a 1990s CMS and all the complexity of a modern MMORPG.

PHP Haters Go Away (0)

Anonymous Coward | more than 3 years ago | (#35308480)

To all of you PHP haters just give it up, yes PHP had some humble beginnings but now it is one of the most used and most flexible web languages on the planet. For legacy support it crucifies sparkly RoR. Yeah I agree, enterprise level apps should be written in C or C++. PHP is quite slow but it actually allows small & medium businesses to appreciate the benefits of technology & automation. If you still want to code in cryptic static languages be my guest, if you want to write code that works that can be updated as fast as client's demand, use PHP. That is the paradigm shift.

Good Frameworks are useful, problem is there are a lot of bad ones out there. Whether or not you consider drupal a framework, it does have it's place. I don't like it and personally prefer Zend Framework, simply because the devs are actually trying to add value & ROI to PHP.

Two things I know are true: Web Applications are the future of computing, PHP is the major player. (If you don't believe me look at a freelance site and see how many jobs there are for other languages vs. PHP.)

what is a framework? (0)

Anonymous Coward | more than 3 years ago | (#35309264)

a framework is a software device that generates consulting opportunities, period.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...