[Israel.pm] Perl 6 Critique

Yosef Meller mellerf at netvision.net.il
Wed Feb 18 14:48:59 PST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Shlomi Fish wrote:
| Check:
|
| http://vipe.technion.ac.il/~shlomif/perl6-critique.html
|
| for a criticism of the way Perl 6 is headed and why it isn't good for the
| people.
|
| Comments, suggestions, corrections, and much more importantly - flames
are
| welcome.
|

I won't flame you, if you won't flame me :)
But I will comment, by all means:

I have on my computer two operating systems: RedHat Linux 9 is my
primary workhorse, and I also have win98 installed. Ask me why. Come on,
ask me...

Ok, since you've asked:
It's true, windows 98 sucks. Deeply. The only sollution for making it
better is rewriting it in Finnish (he he). But there's one "killer
application" that keeps me on it - it's called QText 8, and it's
definitely the best Hebrew word processor on the face of this Earth
despite getting old and lacking in features.

In fact, when I first started to use Linux I did it only so I could run
a domestic web server. I did everything else on windows and only when I
slowly learned more and more about Linux (and quickly fell in love with
it) I moved more and more of my work to it.

Lema Hadavar Dome? (in short - to the perl5->perl6 transition)

You say in your article that perl 5 has a huge user base and codebase
that can't be left behind. You say that moving the perl community to
perl 6 will pull the rug under the feet of countless milions, and you
make it sound like Larry Wall in person will run mke2fs (that's format
c: for you Winnies) on the hard-drives of CPAN the day perl 6 will be
released.

LIES I SAY!

The transition will of course be slow. Even very slow. Some modules will
be left behind. We will suffer code casualties :)
But does that justify dragging around obsolete code which is said by
some to be almost too complicated to maintain? Should we have to live
with all the quirks that will never be repaired because some scripts are
~ counting on them? Sometimes writing from scratch is very healthy.

Now, when I moved from win 98 to linux I broke backwards compatibility.
So much so that I still keep it on the side so I could run QText 8. I
will keep doing so untill Dvir Software release converters for
OpenOffice (which will never happen). So should I have not moved to
Linux? Should I have moved to Windows XP instead?

Now, analogies aside, perl 6 will offer very exciting features, while
still keeping the perl 5 spirit. At least that's what the Exegeses say.
I personally am eager to see it in work (and in fact already have parrot
0.0.13) and I'm sure I'll find the time to convert my few modest CPAN
distros although I'll probably be quite busy starting next week. A quick
review of what's planned on Perl6:

* A unified object system (you talked about it in your article).
* Changing sigils so that they are accessible to beginners ("A sigil is
for life, not just for value type" - Exegesis 2)
* A bunch of new operators (I esp. like the 'leftmost defined' // operator).
* Lazy evaluation of ranges and input reads.
* new control structures
* A decent error management mechanism.
* whole new regex engine with support for complex grammars
* compile-time language, finally!
* some other neat stuff.

It's true that some of these things can be implemented in perl 5 using
pragmatic modules (that's why the current app I'm writing has more than
25 use statements). It's also true that the perl5 language is constantly
being improved. But can't you see how messy this all gets?

Also consider that some of these modules are Avoda Ba'einaim, e.g. when
you 'use constant' it's the same as creating a 'constant subroutine' as
the docs call it. A simple 'use base' will get quite a lot of code
executed (try `perldoc -m base`). Away with that mess I say! Let me have
it built in!

Conclusion:
1. Although perl 5 has a lot going for it, and a lot of users who will
find it quite hard to move, this should not be a deterrant from starting
a (possibly slow) move in the right direction.

2. Rewrites are good. They just take a lot of energy.

3. Abandonware will happen. We can afford it.

4. The promised virtues of perl 6 is in my eyes enough of a draw to pull
the weights in 6's direction. The more it will deliver on its promises,
and the fastest, the faster and swifter will the move to perl6 actually be.

- ---------
An aside for the unweary reader: backwards-compatible techs we're stuck
with:

* The Intel x86 processors.
* Treeware (I actually like books, don't get me wrong here).
* <FONT> tags (how thinner would your browser be if it only needed to
understand DIV, SPAN and CSS ? )
* Brit Mila ("It's barbaric but my child IS a Jew!" I hear you say. And
you're right too.)
* Hebrew (and I'm not going to speak anything else, I'm fanatic about it).

That's all, folks!

- --
perl -e'$b=unpack"b*",pack"H*","59dfce2d6b1664d3b26cd9969503";
for(;$a<length$b;$a+=9){print+pack"b8",substr$b,$a,8;}'

My public key:
http://wwwkeys.pgp.net:11371/pks/lookup?op=get&search=0x3D2CA0A8
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAM+vaaElZPz0soKgRAjVYAJ9z4LJNc+96RrTSXov/MALfhTEGMACfeIE8
CkH7G8dOiByTWxa58+ApEpM=
=j/w1
-----END PGP SIGNATURE-----



More information about the Perl mailing list