Hey Mladen,

Weren't you going to be taking a look at Python too? (Around
Thanksgiving as I recall.) I'd be interested in your feedback on it as
well. 

My take is that Python is powerful yet easy to learn, it's much more
productive than Java and is still quite scalable. Like Perl it's a great
multi-platform scripting/glue language and shares many of its advantages
but unlike Perl, it's been object oriented from the start. There is some
looseness to its OO but the Python community touts that as an advantage.
;-)

We have a Python story here where we host our software for the majority
of our customers. While we perform most of the administration for our
customers we also allow them to admin some stuff via a web app developed
in Python. This app was developed under an accelerated schedule with a 3
man team headed by a brilliant computer science PhD dweeb who really
doesn't have to work for a living but chose to work with us just for the
fun of it. One of the things our customers can do is perform upgrades of
their app and this entails things like creating complete database
schemas, Oracle backups and creating/dropping tablespaces among other
things. (Kind of scary from a DBA control freak perspective.) Shortly
after this web app went production, one of the developers was tragically
killed, another developer who was an intern went back to school, and the
PhD dude went on to be a university professor so the app was kind of
dumped on my department consisting of a dozen admin type dweebs. We had
to learn Python to maintain this mission critical app in short order.
Not only were we able to quickly come up to speed to support the app, we
have since greatly enhanced it to where it's become central to much of
our SysAdmin/DBA duties. One reason for this successful transitions was
the virtue of Python. Several in the department (myself included) were
Perl literate beforehand and there is now unanimous consensus that we
could not have had as good transition if the app had been written in
Perl and we are glad Python was forced on us because the readability of
Python code makes it MUCH more maintainable. Besides being DBA I've now
done enough in Python that I am part DUHveloper. With socket programming
and XML I've been able to transact between databases. (Which is
definitely more sophisticated I/O than PL/SQL is capable of.) I've also
used Python to develop a web server and I'm even thinking about
replacing some Apache usage with my own web server code.

Well that's our story and there's more to Python than I can cover here
so as soon as hunting season is over I'm going to resume preparation for
my upcoming IOUW presentation titled, "Python, Oracle and the Meaning of
Life." Hope to see some of you there.


Steve Orr
Bozeman, Montana



-----Original Message-----
Mladen Gogala
Sent: Sunday, December 07, 2003 10:04 PM
To: Multiple recipients of list ORACLE-L


Perl is a general purpose interpreted programming language, written
specifically with reporting purpose in mind.  In fact, perl stands for
"Practical  Extraction/Reporting Language".  That means that perl is
excellent for producing all kinds of reports. In fact, it has a part
called "formats" which is, in fact, a small report writer and can be
used to produce beautiful reports very quickly and with minimal effort.
The next very useful feature is an extremely versatile regular
expression engine which can do whatever awk & sed can do and more.
That, of course, is ideal for parsing all kinds of regular expressions,
like, for instance, parsing alert.log.  Perl , as I've said before, is
a general purpose programming language with pointers (all right, all
right, the name is "references", but those are really pointers) , which
makes for an exceptionally powerful combination.  Last, but not least,
there is a huge treasure chest 
called "CPAN" (http://cpan.perl.org) which contains vast number of
modules. In case of emergency, it's really easy to find something
useful. One other thing worth mentioning is that perl has bindings and 
modules which make it possible to work with  many databases, Tk, Gtk,
HTML and almost anything conceivable (OLE, ODBC, ADO and other MS
perversions included). There are two problems with perl. One is that
perl is a huge language with so many intrinsic and important elements
that it is really hard to learn the whole language. A title of  a perl
master should be an equivalent 
of a PhD. Another problem is a serious inadequacy of perl syntax for OO.
Perl doesn't have classes, abstract classes, private/protected/public
interface, templates, exception throw/catch mechanisms or some other
things 
that we know and love. Perl's OO model is based on something called
"module", essentially a program unit and a very weird function named
"bless". This function plays a vital role in object construction and, it
is done from up down to the ground instead of  doing it from  the ground
up. Bless  takes a pointer ("reference") and "blesses" it to the pointer
to a member of a given class. That means that whatever the pointer is
pointing to, becomes a class member.  It is exactly like taking a stem
and creating an apple or a pear at its end, depending on the need of the

moment. Function "new" doesn't exist. There is no official constructor
and there is no official destructor. Destroying objects is based on
reference counting which is fast, much faster then Java background
garbage collection, but also unreliable because it can be easily
prevented. If you want a web version of perl, with a proper syntax and a
smaller number of inscrutable undocumented language features, try PHP.


On 2003.12.07 22:34, KENNETH JANUSZ wrote:
> I've read a lot about PERL on this list.  And, I am wondering what can

> you do with PERL that you cannot do with SQL*Plus, PL/SQL or Unix
shell scripts?
> 
> Any information will be greatly appreciated.
> 
> Thanks much,
> Ken Janusz, CPIM

-- 
Mladen Gogala
Oracle DBA
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Mladen Gogala
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the
message BODY, include a line containing: UNSUB ORACLE-L (or the name of
mailing list you want to be removed from).  You may also send the HELP
command for other information (like subscribing).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Orr, Steve
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to