Live data from Hacker News

Why I Hate Frameworks

discuss.joelonsoftware.com

31–40 of 127 posts

Re: Why I Hate Frameworks

#31

On a related note, I saw this on reddit this morning: http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server... What's sad is that I have no idea if this is a joke or not.

Perfect thing to show people, when they want to know if Java is a good fit for their problem. Even a Pointy Haired Boss, shown this, might understand why Rails or Django or something might be a better way to go than dealing with this. EDIT: OK, so instead of Java, that should read "to know if enterprisey Java frameworks are a good fit for their problem." The irony is, that I just was IM'ing a friend about how this is…

That's a ridiculous statement. Idiocy can be written in any language, including Java.

Re: Why I Hate Frameworks

#32
post #27

Here's the dirty little secret that no one wants to talk about... The purpose of "assisters" like frameworks and higher level languages is NOT to make good progammers more efficient. It's to make mediocre programmers more likely to produce something of value and to make poor programmers capable of producing anything at all. And if the bell curve tells us anything at all, it's that these "tools" target 90% of all prog…

I agree completely. Web frameworks add a layer of code bureaucracy that really doesn't need to be there in most cases. Reading and setting browser cookies is not that hard. Creating and reading web forms and validating inputs is not hard. Creating a relational database schema and objects that store themselves in that schema is not hard. You can do all of this directly in mod_python, essentialy by buildng your own framework, so you really don't need Django (I'm know, I'm a heretic for saying so) But doing all of these things directly mod_python takes time to learn how to do it reliably and efficiently. So I understand Django's appeal to people who picked up a Python book and asked "How do I create an event calendar web site in five mouse clicks?" and didn't see a direct answer to that question so they went with a framework. Personally I'd rather not toil under the tyranny of someone else's framework, especially when they suggest you need to create Factory for a Consumer then connect it to an Active Bridge connector... no thanks, I'll just use "mod_python import Cookie" instead.

Re: Why I Hate Frameworks

#33

The more people talk about J2EE, the more I think it was invented to give programmers busywork and multiply their workload with no increase in productivity.

Sort of reminds of project management software: it's just there to keep the project manager busy.

Re: Why I Hate Frameworks

#34
post #8

Frameworks can sometimes be annoying. It's like learning a new sub-language on top of the programming language as there is a certain amount of familiarity you need with a framework's calls (ex. to program in Python, it goes a lot faster if you know that it's len(list) not list.length() and similarly if you're using Rails it's important to know that there is no validates_is_number, but there is validates_numericality_…

I guess I'm one of those bad programmers who does "weird things" , I often create a string with my entire page and then output it. I thought it made more sense since I now have a string that I can run regexes on or find/replace if necessary. Also it makes it easy if I decide I want to cache the page somewhere, I think I must be "dumb and gets things done."

I've done this before. If you're the sole owner of something, and especially if there will never be a designer in the mix, I think it makes sense to stick with what you are (and more importantly will be) familiar with. I once used python string substitution as a poor man's template system, because I knew that when I came back to that code months/years later, I'd still know how string formatting works w/o having to refer back to documentation.

Re: Why I Hate Frameworks

#35
Frameworks - used properly - can be INCREDIBLY helpful.

Why develop my own routing code when there's already a robust, well-tested version available? Or validation code? Or payment authorization code?

Though it needs to be said that the number one thing a good framework does is GET OUT OF YOUR WAY. I've seen some Java frameworks that take an hour to put together a simple Hello World and that's just nonsense.

Currently I'm using Kohana, which is nice because it's really very simple and easy to extend. So far I've been able to spend so much more of my time actually writing business logic instead of routing logic and the like.

Re: Why I Hate Frameworks

#36
post #9
post #6

Earlier quoted context omitted.

They don't magically work. You'll understand the mechanism when you know a bit more about how to build a measure tape and a saw. Also, all the so-called magic is extensively and automatically tested, and so an order of magnitude more reliable than your own custom-rolled spring mechanisms.

Exactly. This is why the article is such a bad analogy - frameworks makes things simpler by handling things you'd already do without them. If you're making a spice rack: Without framework: DIY shed filled with tools Framework: IKEA

I think the issue is, a spice rack from IKEA may work, but it's not going to look great, or last long.

Any flat pack spice rack, will be shoddy quality, and probably break.

You don't get good furniture by mass producing it like that. Same with software.

What if I want a custom spice rack, with some secret compartment, in solid oak.

Re: Why I Hate Frameworks

#37
post #27

Here's the dirty little secret that no one wants to talk about... The purpose of "assisters" like frameworks and higher level languages is NOT to make good progammers more efficient. It's to make mediocre programmers more likely to produce something of value and to make poor programmers capable of producing anything at all. And if the bell curve tells us anything at all, it's that these "tools" target 90% of all prog…

"Only when you dip down into the mediocre masses do you need this help."

And what is wrong with that? Some of us aren't the programming gods you are. If it helps people why get so high and mighty about it? I know with your superior intellect us philistines might seem dumb to you, but maybe you should stop writing about how smart you are when you can't even spell "programmers" right.

Re: Why I Hate Frameworks

#38
post #11
post #9

Earlier quoted context omitted.

Exactly. This is why the article is such a bad analogy - frameworks makes things simpler by handling things you'd already do without them. If you're making a spice rack: Without framework: DIY shed filled with tools Framework: IKEA

Well, not quite... that's a bad analogy too, actually... Rails isn't IKEA - and most java frameworks are definitely not IKEA. Frameworks are tools, not end products.

Things from IKEA are not end products. However all the cutting, planing, and much of the other work has already been done, in the same way that the method of talking to the database and the webserver have been done in the framework.

Re: Why I Hate Frameworks

#39
post #38
post #11

Earlier quoted context omitted.

Well, not quite... that's a bad analogy too, actually... Rails isn't IKEA - and most java frameworks are definitely not IKEA. Frameworks are tools, not end products.

Things from IKEA are not end products. However all the cutting, planing, and much of the other work has already been done, in the same way that the method of talking to the database and the webserver have been done in the framework.

Things from IKEA are flat-packed end-products.

Re: Why I Hate Frameworks

#40
post #32
post #27

Here's the dirty little secret that no one wants to talk about... The purpose of "assisters" like frameworks and higher level languages is NOT to make good progammers more efficient. It's to make mediocre programmers more likely to produce something of value and to make poor programmers capable of producing anything at all. And if the bell curve tells us anything at all, it's that these "tools" target 90% of all prog…

I agree completely. Web frameworks add a layer of code bureaucracy that really doesn't need to be there in most cases. Reading and setting browser cookies is not that hard. Creating and reading web forms and validating inputs is not hard. Creating a relational database schema and objects that store themselves in that schema is not hard. You can do all of this directly in mod_python, essentialy by buildng your own fra…

"essentially by building your own framework"

Why build your own framework when there's one already there? Already well-used, well-tested, well-extended?

Sure it may be easy enough to do, but is it really worth it?

I, for one, would much prefer to be spending my coding time writing application logic than Yet Another Validation Library.

Post reply on HN