Live data from Hacker News

Why I Hate Frameworks

discuss.joelonsoftware.com

11–20 of 127 posts

Re: Why I Hate Frameworks

#11
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

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.

Re: Why I Hate Frameworks

#13

A friend convinced me to try AppFuse once. I have a burning, probably un-justified hatred of Eclipse, so I tried the AppFuse + NetBeans tutorial. That may be the most unproductive I have felt in my entire life. I made a damn login form and it took like 12 pages of tutorial, tons of setup, generating a whole bunch of files that seemed like they could have been done algorithmically because they are always the same, edi…

There's most likely a developer mode, but that's only good for reloading a change to a Java class file. Reloading an xml file will still take a restart of the servlet container. I agree with you that there is basically nothing efficient about the entire process.

Re: Why I Hate Frameworks

#14
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."

Re: Why I Hate Frameworks

#16
I've seen good frameworks (OWL, Nitrogen + Powerplant, maybe 1 or 2 more), and I've seen a crap-ton of bad frameworks (any web framework on java, minus maybe WebObjects).

They're necessary, but they're hard to do right. The man who did Powerplant said he went through about a dozen different designs before getting one he liked. That's why it was often so useful. Most times, people say "hey, let's take these APIs and let people subclass! yay!"

And that's how you end up with crap like doGet(), doPost(), etc.

Re: Why I Hate Frameworks

#17
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 think there's a wee bit of differnece between creating a string with a whole page because you don't know that you can jump in and out of PHP mode and creating a string with a whole page in order to do regex'es on the string

:-)

Re: Why I Hate Frameworks

#18
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 also think Joel misses something

Just FYI. This was post on the "Joel on Sofware" discussion group but the author is Benji Smith.

http://benjismith.net/

I like his blog. He used to post a lot more but he's been busy with a new project. (and a HD crash as of this morning.)

Re: Why I Hate Frameworks

#19
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."

PHP (I assume we're still talking about PHP) has had output buffering for about a decade. So yeah that is a weird thing. ;)

Re: Why I Hate Frameworks

#20
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_…

In other words, by installing frameworks, you will be able to experience the power of frameworks?
Post reply on HN