First let me put a standard disclaimer:-).. nowadays everybody puts a disclaimer in one and everything. Whatever i've expressed are my personal opinions and not meant to create controversies. but i welcome suggestions if i'm really wrong on anything. you can catch me through Mail.

Object Oriented Programming (popularly OOP) has a history of more than 25 years. Ada, Simula, SmallTalk, Algol are few programming languages which support OOP inherently.yeah you can do OO programming in any structured programming language also, but life will be so tough... hmm.... as if life is rosy now... so coming back to the point, i mentioned few OO-oriented languages which i've never used:-). the most popular ones & used by me also are C++  (salutations to stroustrup - creator of C++) and Java (thanks to Sun microsystems).
 

C++ (the Incremental version of C - syntactically)

C++ is a superset of C.  Fundamental difference between this two language comes from the
OO concepts C++ supports. It borrowed class concept - derived classes - virtual functions from Simula67. The operator overloading & declaration of variable just before the point of usage resembles Algol68.  Templates, Exception handling was Ada's inspiration.

A happy news to C++ users is the ANSI/ISO standards committee has finally completed the C++ standards after eight years (oh.. god..) of delibration & nearly 14 years after C++ was commercially used. This new standards will make abstract mechanism ( such as generic programming & Standard Templates Library- STL ) available to estimated 1.5 million C++ programmers worldwide ( wow... i'm also one in that million more). A press release can be found here.

For both new & experienced programmers a small advise. have a copy of what i call bible to C++, Stroustrup's Third Edition of THE C++ PROGRAMMING LANGUAGE. read it fully atleast once & refer to that always when you have any trouble. This edition covers Abstraction Mechanism & Standard Templates fully & more extensively compared to the previous ones.

While important advantage of C++ over other OO languages is the power it gets from C like low level programming, sockets,etc.. etc.. and what not, but it is its disadvantage also. I hear always people saying C++ is not pure-OO (i can hear cries over there....), it is a sensitive topic and i leave it here itself.  fine you can do structured programming in C++ also because it is superset of C. because of this lot of peoples lose their OO design concepts etc & write programs which don't involve much OO (except data-abstraction because of class concept & derivations). this is the case with people who generally move from C to C++.  but nonethless nobody can deny the power C offers to C++ in doing all sorts of programming. Thus it gives the best of both the worlds. If you know C++, then few useful C++ tips.
 

JAVA ( Write Once.. Run AnyWhere...)

Java is sometimes called (C++)++- - ; yeah.. it added few more features to C++ while eliminating few of them of what they thought as troublesome, more error-prone features in C++  ( like pointers, multiple-inheritence, memory-management). But the popularity of java doesn't come from this. It is basically because of what sun microsystems calls as Write Once Run Anywhere(WORA)  concept.

This WORA concept stems from the fact that java is run-time interpreted language. Basically all this porting problems of languages (like C,C++) comes from the fact that during compilation of a file it produces machine/OS dependent code. But in java when you compile a file it produces byte codes which are standard (defined by sun) and they are interpreted by what is called JVM (Java Virtual Machine) at run time. This JVM is machine dependent and takes care of converting these byte codes to machine codes. It has its own stack and other things.  Now i know your thinking that  this concept of byte code is not new and why nothing solid has come before. my guess is java combined this concept with one of the popular concept OO. also nobody can deny the fact that whatever java is today is because of what is known as WWW (world wide web). Netscape started supporting java applets from its 2.0 version and within two years of its commercial introduction java has grown unbelievably and unimaginably.

But one thing which i feel is java is looked as more as a package of classes by lot of peoples and here also although everybody says it is much OO oriented (as everything is classes in java) i tend to disagree on that point. Because of blind usages of classes provided and everything is a class doesn't make developers to understand OOAD. definitely it simplifies.  Java used to be popular choice for web-based/platform-neutral applications/front-end. But it has made road into lot of server applications including the one i'm working on :-). J2EE, J2ME ... J2 it keeps growing impressively.

More of my opinion to continue.... I'll keep on build on this whenever i get time:-) .

Thanks for dropping in.
Visit my Object Oriented Distributed Computing page also. 

Back to

This page hosted by 
Get your own Free Home Page

1