[Catalyst] Last Chance / Last Day: Web developmentplatformcontestand Perl / Catalyst

Jonathan Rockway jon at jrock.us
Thu Nov 30 21:24:34 GMT 2006


Sebastian Riedel wrote:
> Tobias Kremer wrote:
> Take a look at Java, PHP and Ruby, all the marketing initiatives can be
> traced back to a few smart companies.

What has the marketing gotten the community?  PHP and Ruby both suck in
comparison to Perl (features / unicode / modules / speed / knowing wtf
=== really means), despite the fact that money is being poured into both
of those languages by apparently-profitable companies.  It sounds to me
like they're spending all their money creatively lying about the facts,
whereas the p(?:[56]|arrot)-porters are actually improving their languages.

I for one don't really care if perl is "number one".  It's already
better -- what more do you really want?

BTW, here's the real problem with Perl.  It's too hard for dumb people
to learn.  PHP's "everything is a scalar" and "everything is a function"
is great.  You just slap a bunch of functions together and you're done!
 You have an unreadable and unmaintainable piece of crap, but who cares;
you're done!  You gone done made a website thar!

Now speaking as !(a dumb person) (ok ok, arguments about this off-list
please ;), I prefer Perl's syntax because I can say what I mean and have
the *compiler* figure out how to do things. [1]  Plus, there are
powerful features for me to draw upon and exploit -- MI, functional
elements (map / grep / sort {BLOCK} ...), closures, anonymous
subroutines, references, data structures that make sense to someone with
more than 15 minutes programming experience, etc.  Perl will never win
the language war because most people don't understand why it's good, and
never will.  (Ruby is "popular" because of 37signals' massive cash
outlay, and because it's different enough to excite people by "being
different".  Throwing away 30 years of what I know about programming is
a great idea!  It's fuuunnn!)

[1] PHP example -- look at preg_split, str_split, strtok, and explode.
What a freaking nightmare.  That is, unless your brain doesn't work, in
which case it's "cool to have fun toys to choose from".  The manual says
which to use in which case, and by reading that and picking "the right
one", the programmer gets to think "I'm smart, I'm OPTIMIZING!"  In
reality, the programmer is doing the work of an if statement, but hey...
"ZOMG I'M OPTIMIZING!"

I mention this because perl has one function, join, that does all of
these (except strtok, which you can do with a plain regex).  In PHP, you
have to use a different function to "optimize" for the plain-string
case.  In Perl, if your regex isn't really a regex (i.e. /foo/), then
perl can optimize for this and pick a faster algorithm. [/1]

Anyway, preaching to the choir here, so enough :)

Regards,
Jonathan Rockway

-- 
package JAPH;use Catalyst qw/-Debug/;($;=JAPH)->config(name => do {
$,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //,
";$;"]->[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;->setup;



More information about the Catalyst mailing list