Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Stubborn coworkers

11 views
Skip to first unread message

Jeff Stampes

unread,
Aug 29, 2006, 10:57:55 AM8/29/06
to perl6...@perl.org

Greetings all. I've followed perl6 development since the beginning, and
have tried to stay at least somewhat informed along the way. I'll
confess to being puzzled at some of the design decisions, but knowing my
own limitations have had faith in @Larry to do the right thing.

This topic would be m,ore appropriate for perl6-advocacy, if it existed,
but rather than pestering the language designers with it, I thought I'd
look for the user perspective on it.

As one of the lead perl programmers here, I've been tasked with
introducing some of the changes to people. Something short of sending
them off to read the Synopses. While I can discuss features like MMD,
strong typing, Roles and the like, you don't get too far before you
start introducing the new operators, and the fact that we've got Unicode
operators (yes, with ASCII equivalents, but they're terrible IMHO).

I have one coworker known for her stubbornness. I've been hit with the
following several times, and honestly don't have a good reply:

"My bigger concern with the Perl6 syntax is that they expect humans to
write it. This is a similar problem that Forth and Lisp had. You see
how widely used
those are now..."

Since I came to programming after the days of Forth and Lisp being
prominent languages, I can't dispute nor concur with her statement. How
would you respond?

Thanks,
~Jeff


Fagyal Csongor

unread,
Aug 29, 2006, 12:18:21 PM8/29/06
to perl6...@perl.org
Jeff,

Well.

Perl5 is hard to read, and so will Perl6 be. That (mostly) comes form
the gazillion tons of syntax sugar we have, and from the lots of
DWIMmery. So yes, your coworkers are partially right, at least IMHO:
Perl6 syntax is way overloaded, and that can give you some headache. I
do not like the unicode operators, either, for example.

However, a par excellence programmer, who actually *writes* code, might
never experience issues like this. I mean you do not have to use what
you do not need to use. How many here know, for example, the exact
syntax in Perl5 regex for, say, "zero-width look behind assertion"
without looking it up in the man pages? :) Perl5 is like three languages
combined into one. Perl6 is like 5 languages combined.

A mathematican will love to use the sum sign
(http://www.w3.org/TR/MathML2/glyphs/022/U02211.png) in his Perl6
program, for example - but you don't have to. You will never even see
it. And so on and so on. Yes, readibility might suffer, when you want to
"decode" code someone else wrote - however, at this point one should
consider that this overloaded syntax also mean much dense code, which
*usually* means that the code you are looking at can fit to one screen,
which might worth more than some more understandable code that fits
twice as much. Just compare
my $a = $b . $c;
to
String a = (new Integer(b)).toString().concat((new
Float(c)).toString()); /* I don't do Java, so this is probably wrong
here :) */

Just my two cents.

- Fagzal


Jonathan Scott Duff

unread,
Aug 29, 2006, 1:41:21 PM8/29/06
to Jeff Stampes, perl6...@perl.org
On Tue, Aug 29, 2006 at 08:57:55AM -0600, Jeff Stampes wrote:
> I have one coworker known for her stubbornness. I've been hit with the
> following several times, and honestly don't have a good reply:
>
> "My bigger concern with the Perl6 syntax is that they expect humans to
> write it. This is a similar problem that Forth and Lisp had. You see
> how widely used those are now..."

Languages like Forth, APL and to some extent Lisp give no syntactic
relief against the line-noise. You *must* be cryptic in Forth, because
that's all that it allows you to be. Being cryptic is part of the
language's culture :-) Lisp gives some syntactic relief but it forces
you to express that syntax as some form of list. There's no way around
that. It's part of the way the language works.

Perl6 on the other hand does *not* force you into one paradigm or
another. It's got a clean default syntax that most people will use
but it allows you to change the rules when you need to. (Hopefully
people will think long and hard about changing the rules, but perl
won't enforce it)

Okay, I said "perl6 has a clean syntax". I suppose that's something
your coworker will disagree with. But I bet she'll disagree only
because she's focusing on the parts of the syntax that scare her.
Just take some typical perl5 code and re-write it in perl6. Show the
correspondence between the two. Point out where perl6 makes things
better. Et cetera.

Does she also have some problem with perl5? It sounds like she's
just trying to apply the "perl is line noise" argument but only for
perl6. IMHO, the same counter arguments apply.

-Scott
--
Jonathan Scott Duff
du...@pobox.com

Amir E. Aharoni

unread,
Aug 29, 2006, 1:45:51 PM8/29/06
to perl6-users
> Since I came to programming after the days of Forth and Lisp being
> prominent languages, I can't dispute nor concur with her statement. How
> would you respond?

First, a bit of advice that convinced me to go with Perl 6 not only
philosophically, but practically too.

Go here:
http://www.artlebedev.ru/tools/typograf/webservice/

This page is in Russian, but you just need the links with names of
programming languages at the bottom.

This is the website of Art. Lebedev studio, famous internationally for
the (yet-unreleased) Optimus keyboard and famous in Russia for
designing ace websites. On their website they also have a tool called
"Typograf" for improving the typesetting of plain text and HTML. And
they offer a webservice for it too. The links at the bottom of the
page show examples of code for accessing the webservice in different
programming languages.

I was pleasantly surprised to see both Perl and Perl 6 there. When i
compared the two pieces of code, i was just stunned.

This code is practical. Hey, it's webservices! For those vanilla
webservices the Perl 6 code was perfectly readable and cleaner than
its Perl 5 counterpart. And what's most important, *it was still
Perl*. Just cleaner and updated for 2006.

So there. Show that to your stubborn coworkers. The first sentence in
the Camel book can stay the same: Perl 6 is still a language to get
your job done and i believe that most of the time their job will be to
program webservices and not lazy-evaluated arrays or thread-safe
hyper-junctions. And when they will want to do that, they will be able
to.

Now about some philosophy ... I mostly second Fagyal - and please see below ...

On 29/08/06, Fagyal Csongor <con...@conceptonline.hu> wrote:
> Perl5 is hard to read, and so will Perl6 be. That (mostly) comes form
> the gazillion tons of syntax sugar we have, and from the lots of
> DWIMmery.

Syntactic sugar and DWIMmery is good, when it's done well.

In Perl 5 it is done quite well. In Perl 6 it is potentially even better.

No one *has* to use, or for that matter, learn about the
hyper-fatarrow (see
http://aharoni.blogspot.com/2006_08_01_archive.html#post-7389599670533029862
).

It would be clever on behalf of documentation writers (i am gradually
trying to become one) to update perlop and perlsyn in such a way that
all the new and smart operators won't scare people away.

And the Perl 6 edition of the Llama book doesn't even have to mention
them until some very late chapter, if at all.

> So yes, your coworkers are partially right, at least IMHO:
> Perl6 syntax is way overloaded, and that can give you some headache. I
> do not like the unicode operators, either, for example.

Read Larry's talk about Perl 5 and Perl 6 in Israeli OSDC 2006 ( see
http://wiki.osdc.org.il/index.php/Talks/Larry/PCFP ).

Try to listen to it too. He talks about Unicode in the part about
hyper-operators and tries to avoid the inevitable question - "how do
you type it". His explanation is simple, but just right. The world
moves on, why shouldn't Perl?

> However, a par excellence programmer, who actually *writes* code, might
> never experience issues like this. I mean you do not have to use what
> you do not need to use.

You have the ability to be expressive. You don't have if you don't
want to. There's always C to go back to.

> How many here know, for example, the exact

> syntax in Perl5 regex for, say, "zero-width look behind assertion" do that


> without looking it up in the man pages? :)

(?<=)

I didn't cheat. I actually used it yesterday.

And it changes in P6, although i'm not so sure to what exactly. Is it <?after> ?

> Perl5 is like three languages
> combined into one. Perl6 is like 5 languages combined.

Yet again, i'll quote Larry: All your paradigms are belong to us.
And i'll add: But you can still write one-liners.

And you can still get your job done.

--
Amir Elisha Aharoni, http://aharoni.blogspot.com/
"We're living in pieces,
I want to live in peace." - Thurston Moore
______________________________________________________
Please avoid sending me Word or PowerPoint attachments
http://www.gnu.org/philosophy/no-word-attachments.html

A. Pagaltzis

unread,
Aug 29, 2006, 6:17:58 PM8/29/06
to perl6...@perl.org
* Jeff Stampes <jeff.s...@xilinx.com> [2006-08-29 17:00]:

> Since I came to programming after the days of Forth and Lisp
> being prominent languages, I can't dispute nor concur with her
> statement. How would you respond?

By telling her that the comparison is flawed? Neither Lisp nor
Forth have anything you could straight-facedly call a syntax.

Perl 6 is a polar opposite.


YOU FORTH LOVE IF HONK THEN,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>

Steffen Schwigon

unread,
Aug 30, 2006, 9:26:28 AM8/30/06
to perl6...@perl.org
Jeff Stampes <jeff.s...@xilinx.com> writes:
> "My bigger concern with the Perl6 syntax is that they expect humans
> to write it. This is a similar problem that Forth and Lisp had.
> You see how widely used those are now..."

It will always be difficult to compare Perl X against any other
language. Perl5 and Perl6 look the same from a Lispish point of view.

I would start with the fact that Perl5 *has* very widespread use and
*is* still one of the mainstream languages. Once he accepts that fact,
tell him Perl6 makes things better that are difficult in Perl5.

So try to compare Perl6 with Perl5, not Perl6 with AnyOtherLanguage,
because that's just the same old discussion since Perl's birthday.

Steffen
--
Steffen Schwigon <schw...@webit.de>
Dresden Perl Mongers <http://dresden-pm.org/>

Martin G Ryan

unread,
Aug 30, 2006, 9:22:29 PM8/30/06
to perl6...@perl.org

> "My bigger concern with the Perl6 syntax is that they expect humans to
> write it. This is a similar problem that Forth and Lisp had. You see
> how widely used those are now..."

...
> How would you respond?

I would expose and challenge the presumptions in the statement.

"My bigger concern..." Do you have others? If so, what are they? If
not, then what you really mean is "My only concern is ..."

More significantly, "...they expect humans to write it." This implies
that perl not only takes a little effort to learn (as does any language,
or indeed, anything worth doing) but that its *extremely* difficult -
well beyond the reach of most mere mortals. This is demonstrably false
as perl has a very large following and most of us are common folk
(Damian - you go stand over there for a minute :-) - indeed many of us
are not even programmers by trade. As an aside, I believe it's an
insult to those who have worked so hard on the language design,
specifically $Larry - not because he did most of it but because he tries
to make the language more intuitive and "incrementally learnable" - more
or less the opposite of the accusation.

Ask her to take a look at http://www.wall.org/~larry/natural.html.

"You don't learn a natural language even once, in the sense that you
never stop learning it. Nobody has ever learned any natural language
completely"

Others have already made the point - perl is not like most languages in
that it offers many ways to do things and it's not expected that you
necessarily know them all. The idea is you use the one that matches
your brain or the particular problem at hand or that reflects the point
you're at in learning perl. Other languages strive for "one obvious
way" which offers the comfort of knowing your doing it the "right" way
at the expense of being able to choose a more specific way that better
matches you, the problem, the time frame you've got to solve it,
whatever.

I believe this is at the heart of you protagonists' statement. I'd
suggest that statements like this reflect an anxiousness of not being
capable of getting across the whole of the new language. The sad fact
is that it doesn't matter. If you know "a way" that solves the problem
in the time frame, then do that. You can learn a "better" way -
whatever that means - next time the problem arises and you have the time
to do so.

"This is a similar problem that Forth and Lisp had."

How so? Are they multi-paradigmatic leading to a large and rich
selection of syntax and approaches to choose from? Or do they try to
shoe-horn you into a specific approach that suited some users/problems
but is unsuitable to many?

"You see how widely used those are now..."

In certain problem domains each remains the language of choice. They
weren't aiming to solve as broad a range of problems as perl does so one
shouldn't expect them to have as high a profile. In fact, it's harder
to think of better examples of languages that cannot be compared with
perl. So, whatever problems they arguably have, I wouldn't expect to
see those problems in perl - or at least, not necessarily.

The other more simple point to make is to ask her - "How much
programming/experimenting with perl6 have you done? Can I have look at
the results?" If the answer is "not much" then the obvious question
arises - "then how do you know its going to be so hard to write?"

Perhaps the above is a little harsh (and unnecessarily long) but its how
I'd tackle it.

Martin

Jeff Stampes

unread,
Aug 30, 2006, 10:53:12 PM8/30/06
to Ryan, Martin G, perl6...@perl.org

Thank you Martin, and everyone else. We've had several other
conversations, and I believe this boils down to just a natural
pessimist. She wants to see perl continue to be a widely adopted
successful language, and while she is willing to do whatever work it
takes to learn, she doesn't have similar faith in the rest of the world.

It's just her nature, and I should ignore it.

(Can we let Damian out of the corner yet? :)

--
NEVER swerve to hit a lawyer riding a bicycle -- it might be your bicycle.


A. Pagaltzis

unread,
Aug 31, 2006, 4:30:36 PM8/31/06
to perl6...@perl.org
* Ryan, Martin G <Martin...@team.telstra.com> [2006-08-31 03:30]:

> "This is a similar problem that Forth and Lisp had."
>
> How so? Are they multi-paradigmatic leading to a large and
> rich selection of syntax and approaches to choose from? Or do
> they try to shoe-horn you into a specific approach that suited
> some users/problems but is unsuitable to many?

Lisp is more multiparadigmatic than any currently extant
language.

Forth is bound quite tightly to imperative style, I think (at
least I can’t imagine how you’d write functional or declarative
programs in it), but doing OO with it is no biggie, at least.

None of that has much to do with syntax.

> "You see how widely used those are now..."
>
> In certain problem domains each remains the language of choice.
> They weren't aiming to solve as broad a range of problems as
> perl does so one shouldn't expect them to have as high a
> profile.

That is true of Forth, but not Lisp. There’s a reason that Larry
calls Lisp the most beautiful language in the world.

In fact, Perl 6 is the first effort I am aware of where a
language from outside the Lisp family is trying to compete (*and*
win) at all the disciplines Lisp is good at.

Regards,

Conrad Schneiker

unread,
Sep 1, 2006, 12:44:47 AM9/1/06
to A. Pagaltzis, perl6...@perl.org
> From: A. Pagaltzis [mailto:paga...@gmx.de]

>
> * Ryan, Martin G <Martin...@team.telstra.com> [2006-08-31 03:30]:

> > In certain problem domains each remains the language of choice.


> > They weren't aiming to solve as broad a range of problems as
> > perl does so one shouldn't expect them to have as high a
> > profile.
>
> That is true of Forth, but not Lisp. There's a reason that Larry
> calls Lisp the most beautiful language in the world.

But you left out the awful part.... :-)

Larry Wall (c.1994): "Lisp has all the visual appeal of oatmeal with
fingernail clippings mixed in."

Larry Wall (c.2006): "I simultaneously believe that languages are wonderful
and awful. You have to hold both of those. Ugly things can be beautiful. And
beautiful can get ugly very fast. You know, take Lisp. You know, it's the
most beautiful language in the world. At least up until Haskell came along.
(laughter) But, you know, every program in Lisp is just ugly. I don't figure
how that works."

> In fact, Perl 6 is the first effort I am aware of where a
> language from outside the Lisp family is trying to compete (*and*
> win) at all the disciplines Lisp is good at.

Absolutely!! (At least when it comes to a fairly popular and mainstream
language family.) I think it's difficult to over-emphasize the extreme
importance and power (and -Ofun!) of that.

(C6PAN can become much more super-charged as well. And yet, simple things
will still be easy, and lots of currently difficult things will become
semi-easy.)

Larry Wall (c.2006): "Perhaps the Perl 6 slogan should be "All Your
Paradigms Are Belong To Us". We'll get to that."

(... As you were saying, in somewhat different words.)

More off the Wall Perl's of wit are at:
http://en.wikiquote.org/wiki/Larry_Wall.

Some great essays (by Paul Graham) on why Lisp is important--and by
implication, why Perl 6 is likely to be awesome:

"Beating the Averages"
(Lisp as a secret competitive weapon for startups.)
http://www.paulgraham.com/avg.html

"What Made Lisp Different"
http://www.paulgraham.com/diff.html

"The Python Paradox"
http://www.paulgraham.com/pypar.html

"The Hundred Year Language"
http://www.paulgraham.com/hundred.html

Best regards,
Conrad Schneiker

www.AthenaLab.com
Nano-electron-beam and micro-neutron-beam technology.

The Perl 6 Users FAQ has moved to:
http://perl.net.au/wiki/Perl_6_Users_FAQ

Check out the new Perl 6 Workplace Wiki:
http://rakudo.org/perl6

0 new messages