Monday, April 14, 2008

Reuse and API

the most efficiet approach to building systems today, lies within reuse. as open source software grows, and we get better and better open source applications like ( all the php(s) in the web application world) . so now you are faced with requirements to build a new system, you could easily see that most of the functionalities were already implemented in open source, maybe not all but most . now if you are smart enough you will think of reuse. which will make the task easier. and the developement time shrinks. but we are still afraid of such endeavor , and most developers rather rebuild the system from scratch ! And i am wondering about why this is the case?
my conclusion is that : in order to reuse any "component" in software, you need an API for it, a very good API, that is well documented! and in general building a component with mindset that is targeted on reuse ! it's like design for testability really, if you dont think about it early on its hard to achieve !

there was a vey nice google talk about designing good APIs and why it matters to do so : you can find it here: http://youtube.com/watch?v=aAb7hSCtvGw