The inside of a computer is as dumb as hell but it goes like mad!
I am doing a startup!
Cross-browser testing from your browser!
I have written my fourth book!
Be faster than Larry Wall in the shell!
You're replying to a comment by Sean M.
Reading through most of the 2+ years of comments here, I'm struck with how the pro-framework people don't address the points made in the article. Rather, they bring up two basic points: 1) Initial software creation is faster with a framework, and 2) Tested code is better than untested code.
I think everyone would agree. However, that's not the point.
Example: I currently work for a group who started using Ruby on Rails in 2009. It was great. The developers here spun up 38 web applications in about two years. Those applications solved a lot of people's problems. The programmers had to hack ActiveResource and Rails core because back then SOA was one of those weird edgy things that Rails didn't support. But the hacking didn't take much time, and development was very quick. So far, so good.
Fast forward nine years. The development staff has rotated out twice. Rails has moved from version 2 to version 5, shedding its preferred JS framework (Prototype) along with making numerous large changes. Our development staffing levels are set in stone by budgetary constraints, and as those 38 initial apps were joined by eleven more, the time to maintain and support those applications has drowned out our groups ability to keep up with Rails core changes --- not due to negligence, laziness or stupidity, but rather due to the simple element of time.
Yes, frameworks save time up front. Yes, using code reviewed by hundreds of developers and tens of thousands of websites is safer than hand-coded. And then comes the part that is utterly miserable: maintaining it.
You may say: you'd have the same problem with handwritten code.
I answer: no, you wouldn't. Here's why: programmers who know the technologies they're using will create a system that solves the need of their users (and not fourty-thousand other users). They do this with a programming language. While that language will move underneath them at times, their code will not change without their consent. IF (and that's a big if) the programmer knows what they're doing, using targeted libraries where it makes sense, and using what every programmer should have a solid grounding in (security, design patterns, coding for future maintenance), then their code is orders of magnitude less complex, more secure due to lower security target area, and needs very light maintenance.
In short, using a framework is fine for freelancers who can walk away from a finished product, or for corporations who can hire n newly-minted CS grads to keep up with framework updates.
But for those of us who have to live for years with what we create, or have to assume the responsibilities of others who walked away, a framework is a sanity death sentence.
(why do I need your e-mail?)
It would be nice if you left your e-mail address. Sometimes I want to send a private message, or just thank for the great comment. Having your e-mail really helps.
I will never ever spam you.
(Your twitter handle, if you have one.)
* use <pre>...</pre> to insert a plain code snippet.
* use <pre lang="lang">...</pre> to insert a syntax highlighted code snippet.
For example, <pre lang="python">...</pre> will insert Python highlighted code.
* use <code>...</code> to highlight a variable or a single shell command.
* use <a href="url" nospam>title</a> to insert links.
<a href="url" nospam>title</a>
* use other HTML tags, such as, <b>, <i>, <blockquote>, <sup>, <sub> for text formatting.
Type the word "quake3_508": (just to make sure you're a human)
Please preview the comment before submitting to make sure it's OK.
Peter Krumins' blog about programming, hacking, software reuse, software ideas, computer security, browserling, google and technology.
Reach me at:
Or meet me on:
Subscribe through an RSS feed:
Subscribe through email:
Enter your email address:
Delivered by FeedBurner
See all top articles
See all downloads
See more detailed list of recent articles
See more detailed category information
See more detailed list of all articles