Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Python vs. PL/SQL for Oracle work

Re: Python vs. PL/SQL for Oracle work

From: Mladen Gogala <gogala_at_sbcglobal.net>
Date: Mon, 20 Feb 2006 18:56:19 GMT
Message-Id: <pan.2006.02.20.18.56.18.430616@sbcglobal.net>


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:

  1. 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.
  2. 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.
  3. 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.
  4. 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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US