Why all the programming languages? - Mailing list pgsql-advocacy

From Christopher Browne
Subject Why all the programming languages?
Date
Msg-id m3d6bhjps6.fsf_-_@wolfe.cbbrowne.com
Whole thread Raw
In response to Comparing databases  (Jussi Mikkola <jussi.mikkola@bonware.com>)
List pgsql-advocacy
Martha Stewart called it a Good Thing when paulsnewsgroups@hotmail.com (Paul Ganainm) wrote:
> Maybe this is a silly question, but do you really need more than 10?
> What's the matter with one that does a great job?

Well, why do you imagine that there is more than one programming
language available on _any_ platform?

The answer is that different languages provide more convenient
notations for different purposes, or other useful properties.

PL/R, at one 'extreme,' provides access to a statistical language,
providing convenient notation for working with arrays to do "math
stuff."

PL/pgsql, on the other hand, provides, with a tiny burden of libraries
and such, provides looping and control structures with a "SQL-style"
notation very similar to Oracle's PL/SQL language.

PL/Perl allows embedding code that uses Perl's rich set of regular
expression syntax, which can sometimes be convenient.

PL/C isn't notationally very nice, requiring that you go through the
gory hoops of C memory management, but it allows exact control of what
is going on, and tight loops can be optimized to death by your C
compiler.

There's why you might want to have those four particular choices
around.  C++, Ruby, Python, TCL, and Java all have fans, too, which is
why those languages exist in the first place.
--
select 'cbbrowne' || '@' || 'cbbrowne.com';
http://www.ntlug.org/~cbbrowne/languages.html
Signs of a Klingon  Programmer - 15. "Python? That  is for children. A
Klingon Warrior uses only  machine code, keyed in  on the  front panel
switches in raw binary."

pgsql-advocacy by date:

Previous
From: Christopher Browne
Date:
Subject: Re: PostgreSQL certifications?
Next
From: Christopher Browne
Date:
Subject: Re: Where is Postgesql ? - MYSQL SURPRISES WITH MAXDB /