Wednesday, December 23, 2009

How many Object Oriented Programming Languages are there totally?

Why java is so special among these?How many Object Oriented Programming Languages are there totally?
Pretty many and the number is increasing. And even more allows OO as optional component. Mind you, for lot of them -- like C++ and ObjectPascal (and to some degree VisualBasic, Delphi) -- they've taken a *structured* programming langauge (like C and Pascal) and just added features for object-orienting. And other more ';pure'; oo-languages -- like Java and C# -- has been so much inspired by such languages (C and C++), thet they're really not very good OO-langauges.





C++ totally lacks a coherent class-hiarchy, although some can optionally be added (like iostream). If you add several optional components, you will get several seperated hiarchies. Java is somewhat better because it does have one hierachy. Unfortunately, the primitive types (char, int, float, ...) are defined *outside* this hierachy. Also, although Java is fully object-oriented, it leans heavely on it's more structured C/C++ ancestory... much is done ';the C way';, rather than ';the oo-way';.





To really sink your teeth into OO and understand the beauty of it, I would recomend other languages. Languages designed as OO from the beginning. A very good choice is SmallTalk, where everything -- incuding the langauge itself -- is part of *one single* large hiarachy. Playing around SmallTalk, will give you a feel for what OO is all about and make you think in the OO-way... this is then something you then can take with you to other ';lesser'; OO-languages, like C++ or Java.





Java is special because it was the first C-derived language with at least somewhat coherent class-hiearchy. It was designed with security in mind. It combines compiling and interperting, by ';compiling'; the program into ';byte-code';, which can then be interperted by the ';Java Virtual Machine';... a rather novell approach. It was designed to allow one to make ';applets'; -- specially designed programs to be downloaded over the net, and inserted into web-pages on your browser -- to run in other applications (like web-browsers).





IMHO, Java is not a very good langauge -- and an even worse OO-language. It's large advantage, is the connectivity with the web. It's slow and sluggish, which is a problem when making stand-alone applications. If you're not intending to make web-applications, there would be little reason to learn Java... Except for the fact that Java has got so much good press, that it has become a langauge employers ask for.How many Object Oriented Programming Languages are there totally?
There are a LOT. Smalltalk was the first back in the seventies and of course C, Cobol and Pascal all have Object-oriented versions (in Pascal's case both Delphi and Modula. The list on the wikipedia has almost a hundred, including extensions and derivatives. It's probably incomplete:


http://en.wikipedia.org/wiki/Object-orie鈥?/a>





What makes Java so special is it was the first object-oriented interpreted language optimized for internet and cross-platform operation. Think of it as midway between C++ and JavaScript and you will begin to get some idea of why it is so special. It's a Goldilocks language which is ';Just Right'; for some people.
There are more than 100 Object Oriented Programming Languages.


Java is the special among them because it is the first purely Object Oriented Programming Language. It is better than C++ (which was developed before Java and which is not pure object oriented language) in terms of memory management (garbage collector) and others. It has also got many more features.

No comments:

Post a Comment