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

Home -> Community -> Mailing Lists -> Oracle-L -> RE: PERL?

RE: PERL?

From: Orr, Steve <sorr_at_rightnow.com>
Date: Mon, 08 Dec 2003 08:14:33 -0800
Message-ID: <F001.005D92F9.20031208081433@fatcity.com>


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: mgogala_at_adelphia.net

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: ListGuru_at_fatcity.com (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: sorr_at_rightnow.com

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: ListGuru_at_fatcity.com (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).
Received on Mon Dec 08 2003 - 10:14:33 CST

Original text of this message

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