Soon Procedural Language couldn't keep up with the complexity of new program requirements. There were so many procedures to remember. Multiple programmers working on the same program created similar procedures because of failure of communication, documenting or just flatly massive procedures. Naturally, we need a way to organize or categorize these procedures. Object Oriented Programming Language (OOP) was born from that neccessity.
From programmer perspective, I see Object as a collection of related procedures. Rather than remembering thousands of procedure names, with OOP, we might categorize those procedures to hundreds of Objects and those hundreds of Objects might then be categorized to tens of Objects. So by remembering those tens of objects, we can trace a procedure that we need. As with Procedure library, vendors were selling Object packages.
While Object packages could be reused for different programs. Each program must be compiled with the same packages thus created redundancy. COM (Component Object Model) was born to optimized multiple programs running on the same system. The idea of COM is for different programs which run on different process can interact to each others, reusing objects belonged to those programs thus minimize redundancy.
One oldest problem with PL was just to many of different PL. Different PL tried to solve different problem. Programs created by different PL couldn't communicate directly to each other. Procedure Libraries or Object packages and COM somewhat helped the communication so programmers could share and reuse codes created by other PL. We need an easy way for these PL to work together. Dot Net Framework born to allow different PLs to work together thus gave programmers much wider option of existing Objects to use.
In summary, the directive of evolution of Programming Language is "CODE REUSE". It wil be interesting what other framework that we will come up in the future, but one thing I'm sure, the directive of the evolution of PL will prevail.
Monday, November 26, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment