First-- my main programming languages at the moment are Perl, PHP, and
Python. I don't do multithreaded programming, though when I need to, I will
use sockets, pipes, fork(), SYSV IPC etc. Needless to say, I do very little
Windows programming.
First, every language allows you to do things any of several right ways, and
any of many many wrong ways. I am not convinced that the choice of language
will make a sloppy program magically become readable.
Most of my web programming is done using PHP. For stateless architectures,
I have yet to find a language that is as extensible, powerful, and easily
modular as PHP. My favorite feature is the fact that I can include
arbitrary files, using a line of code:
include "$next_file.php";
Then whichever file shares the name (minus the .php extension) with the
$next_file variable will be included. This enables me to write engines that
allow for event-driven programming in stateless web environments. I have
not been able to find an elegent solution to this problem either in Perl or
PHP. Note: this is only used for UI modules due to obvious security
concerns, and the variables should be subject to some additional sanity
checks.
I find that Perl is the best program for UNIX system programming, as long as
performance is less expensive than programmer time. Many of my applications
for automated, scheduled file transfers, log reporting, etc. as well as
installers for other UNIX programs are written in Perl.
Finally, I usually use Python for GUI apps, either with TKinter or WXPython.
I find its support for many graphical environments to be excellent, and I
can easily and rapidly prototype any application with it.
There are two points to bear in mind with this language war:
1: Every language lets you program in any number of right ways, but also in
many many wrong ways.
2: Using any language effectively takes some period of acclimation-- what
works in one language often doesn't in another.
Trying to bring this closer to the topic of the list--
what do PL/PHP and PL/Python allow you to do easier than with PL/Perl or
PLPGSQL?
What other PGSQL languages would people recommend I look into?
Best WIshes,
Chris Travers