On Mon, 20 Feb 2006 09:46:32 -0800, Jeff C wrote:
> What about Java? I read a lot about Java and PL/SQL being Oracle's two
> core languages, and then about Java replacing PL/SQL, but I don't see
> it happening where I work...
I believe that the programming world is sobering up after being so
delighted with so called "pure OO technologies". There are things that
are procedural in nature and writing a class just to output a line is a
bit too much. Java doesn't let you write things in a procedural fashion.
The greatest advantage of PL/SQL, besides its performance, is the ability
to write a simple, procedural script that will run once and be forgotten.
Java is not the scripting language of choice, precisely for that reason. I
cannot do something like "java -pi.bak -e 'tr [A-Z] [a-z];' myfile.txt".
If you replace the word "java" by "perl", it will work like a charm.
There are problems with "true object orientation", that people seldom
talk about:
- It is a religion. People are going out of their way to create "object
factories" and study the proper "design patterns". So called "one true
object orientation" is, in the opinion of some programmers, more
important then anything else, performance and ease of maintenance
included. I don't believe that religious approach to programming is
the right one. I will, however, go berserk if someone makes a cartoon
of Larry Wall.
- Classes and design patterns are useless if they are not documented.
Everybody knows and understands what is int, char, double or long, but
not everybody knows how is a variable of the type "client" supposed to
behave. Adhering to the true "OO" religion is impossible without
investing significant effort in the documentation. That is usually the
Achilles heel of all IT organizations that have sworn the blood oath to
Java. In the end, they end up with an incredible mess that cannot be
debugged at all. That is the same for any "true OO language": C++, Java,
or Python and even for some not-so-true-OO languages, like Perl.
- Badly designed objects suffer from the same bugs as badly designed
procedural programs and subroutines: buffer overruns, access control
deceptions and stack overflow, making them equally as insecure as the
procedural ones, but much harder to debug as many common debuggers do
not handle objects well.
- OO paradigm doesn't guarantee intelligent design. Nothing does, with
a possible exception of KS.
--
http://www.mgogala.com
Received on Mon Feb 20 2006 - 12:56:19 CST