Purpose driven development is something that happens rarely these days. Most software is developed with Rapid Application Development strategies in place - at the minimum, people reuse bloated code elements that accomplish more than the task at hand requires.
It certainly is effective - I mean, if you had to develop every application from scratch, the software that we have available to us would be of much lower quality, with many less options to choose from.
On the other hand, building an application from the ground up does have it's benefits. Take Digital Point's Keyword Tracker tool. It tracks keywords for somewhere around 50,000 people (maybe significantly more) on a daily basis. Sure, you could develop the same kind of application using some standard Perl libraries or heaven forbid, you could even build it in dot Net. But developing a purpose driven solution in that instance would mean a significantly lower drain on resources, a speedier run time for the application, and an all around better user experience.
I understand that Shawn built his own SOAP client for the Keyword Tracker tool, and it only makes sense that he's done so. He controls how bloated his application is and he also knows where problems might lie within the application since he built it himself.
Purpose driven application development definitely has it's place in the World Wide Web. Any given internet site can serve upwards of tens of thousands of people on a given day - and a free utility can produce an incredible strain on resources if not developed efficiently. Sure, reinventing the wheel isn't always necessary - but it certainly isn't a topic that should never be broached.
Personally, I would recommend a combined effort in developing online utilities - reusing libraries, code segments, or shared resources can definitely make for a quicker development cycle. When a tool becomes so popular that it strains the resources of the host machine or network, however, it's time to start looking into ways to re-engineer the software to meet the existing and short term future needs of the end user.
Purpose Driven Programming Feedback
