From: "Chris Prather" <perig...@gmail.com>
Perl is a funny animal. It doesn't have a formal support for interfaces,
but it suppports multiple class inheritance. It also has - for a very
long time now - support for closures, which I find very interesting (few
Java developers even heard of it).

Moose supports Roles which can functionally act like
Interfaces as a
special case, but can in the more general case perform > *much* more
powerfully. I refer you to Ovid's recent set of blog
posts on
use.perl.org about re-writing his MI class hierarchy to
use Roles.

If the language doesn't force the programmer to follow standards and interfaces, it is much harder to be used in very big teams that have members in more countries, with different cultures and styles of programming. I also like perl because it is flexible and doesn't force us to do anything, but we should agree that this is also one of the biggest disadvantage, and reason why it is not used by very big teams.

Agreeably, Perl is neutral enough to let bad boys ignore the 'contracts'
aka interfaces. But I would say that it's more of a feature (some would
use the word 'beauty'). I do acknowledge there's some pain in this
philosophy though. There's always a workaround to enforce things if you
want it to.

This could be interesting. Can you give some more details?
(About what a big team of perl programmers should do to 0enforce a certain style of programming, and respecting interfaces)

- It can create portable programs that can run everywhere, under
Windows, Mac, Linux, shared hosting web sites that don't offer root
and shell access...
Lose out to expensive marketing folks from Java.

Perl can and does do this. And has been doing this for over a decade.
They call it CGI, and it's slow but it works.

It is slow, it works, but I see fewer and fewer web sites that use CGI with perl and there should be a reason why. Movable Type uses CGI, but it is great because it create static files, so the CGI speed penalty is not an issue. It can be also installed without requiring shell and root access. But there are no very many perl programs that use this style.
The recommendation is to install the modules from CPAN...

The fact that Perl source is available is in my opinion a bonus because it means that you
can in fact alter the source if your Vendor dissappears. Do you know
how many legacy C/C++/Fortran/Cobol applications exist out there that
have no source anymore? Have you ever had to maintain something like
that?

The software companies usually don't care what happends with their code if they disappear from the market, but they do care to protect their code when they try to sell it to someone else. I don't say that they are right, or that they are really protected and criticize perl that doesn't help to do the right way. I am sure that if all the source code of all the custom - created programs for some clients would be opened, 99.999% of the clients won't give that source code to someone else, and won't try to modify it and sell it, but the truth doesn't matter. It matters what the owners of the software companies think.

Hiding the source simply put means that you're doing it wrong when it
comes to software sales. If your business model depends on forcing
people to be honest, you're gonna lose. See also RIAA/MPAA's efforts
to block mp3 sharing.

Well, and in that case what would be the recommendation when you know that the clients are not honest? Can a software company trust another company which is its client, when it sees that the client use pirated Windows, Office, Corel Draw, AutoCad and don't even try to hide that they steal that software? Don't make business with such companies? But what if more than 50% of the local market are companies that use pirated software?

Other people have listed a bunch of large companies, I can add
Reuters, Microsoft, Sun, Yahoo, and Google to the mix from personal
conversations with developers at each of them.

If their web pages end with .py and .php or .jsp, the students will see which are the languages used by big companies, and they will learn them first, and not perl. I like the URLS that look like /user/create/ and not like /user/create.php, but I also know that those extensions are a very good marketing tool.

Reuters uses Perl to run all of their Fixed Income Pricing.
HTTP::Engine is a webserver written in Perl that performs decently
well, Catalyst::Engine::Prefork is another. Somone pointed to Siesta
which was a mailing list manager but those aren't really very popular

I guess there aren't very many students that know what software uses Reuters or Google on their backends. HTTP::Engine depends on IPC::ShareLite and if a user tries to install it under Windows, he receives the message "IPC::ShareLite doesn't work under Windows"
Catalyst::Engine::Prefork also doesn't work under Windows...

... let's see Stock Exchange Trading I havent heard of myself so you

I am talking about the software used by stock exchanges. NYSE uses Java. Bucharest Stock exchange uses Java and DotNet.

The builk of Perl's applications are hidden away in whatever populates
your @INC. CPAN has *way* more available than Windows' Standard
Libraries ever will ... or Sun's or any other single vendor's.

For creating movies, graphics design games, sounds, multimedia in general, perl is not very great. These are the things that atract the people these days, especially the teenagers that could be the new wave of perl programmers.

Octavian

Reply via email to