Frameworks not only are great for piecing together an application quickly with user management, content filtering, access control, etc..., there is another HUGE advantage to using a framework. If the framework you are using has a thriving community behind it, the framework will constantly get better, which means the software you write will get better with little effort from yourself, just by running updates on the core framework. Frameworks exist to make it easier for developers to solve common problems quickly. Every developer may have their own way that they think is the best way to solve a certain problem. They'll cut and paste their custom component that they wrote into all the applications that need to solve this same problem. This works, but is this the best solution? On the other hand, if the developer uses a framework with a community behind it, there is probably a component in the framework that already solves that common problem. The developer can easily include that component to solve the problem, and if the developer, after reviewing the code of the component, sees that there is a security concern or performance concern with this component, the developer can enhance the component. The developer can then submit this "patched" version of the component back to the framework community for review and eventually get included into the core framework. For example, lets say that the user access component of a framework recently got a speed increase of 25% after the refactoring by some developer that also uses this component in the framework. The rest of the developers that use this framework now benefit from this. They can install this patch to all the applications that use this component and reap the benefits of another developers time to optimize the user access system. The second developer didn't have to write any code, just run an update. When developers contribute back to a common set of tools, the tools get better, more secure, more optimized and in the end you get a better product. You're also not coding in a vacuum, you get the opportunity to see how other developers solve problems, and adapt the techniques you like to your own. You could potentially learn a lot, just by adopting a widely used framework. You may even realized that there are a lot of people out there that a lot smarter than you when it comes to a certain part of your application. Frameworks are a great learning experience. -Tom Friedhof On Tue, Apr 22, 2008 at 10:07 AM, Nathan Nobbe <quickshiftin@xxxxxxxxx> wrote: > On Tue, Apr 22, 2008 at 11:02 AM, paragasu <paragasu@xxxxxxxxx> wrote: > > > > > imagine a cms, like drupal or joomla. you install the thing w/ the web > > > based installer then go through adding content via the web interface; > u > > > can > > > do it :D > > > > > > -nathan > > > > > > > i am going to miss the fun doing programming then. > > > > As a comparison, framework is like a canned food. available anytime you > > wan't. but still, it doesn't give me the fun of cooking my own meal. > > sometimes, it is not about eating that make me happy. it is the cooking > > part. > > Same goes for programming. Great cooker invent good recipe and make a > > factories to > > produce the same product in a large number. Great programmer invent > > framework so other > > people can use it to create many program. > > If for productivity. canned food is good. > > But i think, i still prefer sweet & sour fried rice over canned food. > > don't you? > > > if you want to go w/ a cooking analogy, i tend to think of a framework as > going to a professional restaurant; where they have a nice infrastructure > to > build out many different types of meals. over time you learn this > infrastructure and leverage it to construct your own famous recipies. > > -nathan >