Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: Perl 6 critique is a good thing

by Juerd (Abbot)
on Oct 18, 2004 at 21:11 UTC ( #400322=note: print w/replies, xml ) Need Help??


in reply to Re: Perl 6 critique is a good thing
in thread Perl 6 critique is a good thing

I think the unicode character operators are very very bad.

I agree.

While it maybe nice that "..." and the ellipses work as the same thing, it prevents code editors from searching on such things.

The only thing I use to search for certain operators is Google, and it doesn't support searching for interpunction anyway. I've never used a search or grep tool to try and find operators in source code, except when discussing on perl6-language how often something is used in Perl 5.

I think there are WAY too many operators (queue link to the table of operators).

There are a lot of operators, but this is not as big a problem as many think. Many are logical and can be put in a simple table, and here having multiple operators for what is now the "same thing" actually makes things easier. I'm talking about the bitwise operators here. | will be +|, ~|, and ?|. Same for &, <<, >>, etcetera.

  • They're ugly. But how often do you use bitwise operators?
  • There are many. But this makes knowing what is meant (stringy or numeric?) easier in a clean way.
  • The nice looking | and & are now something else. But the new thing is much neater and something that will be used much more often: junctions

Then there are hyper-operators, which means the combination of » and/or « and another operator. This is just like modification operators like +=: once you know how it works, it saves you a lot of time. Have you ever needed to look up what ||= does? (If so, why?).

If you don't count compound operators, the difference with Perl 5 is much less shocking. 42 stay the same, 14 change (of which 5 are these bitwise operators) and we get 13 new ones (excluding the hypers). This is in a total of 84 operators not such a big change. (I'm counting op= as one operator).

Perl5 ALREADY has a problem with newbies being able to read code written by uber-perl programmers (like myself :)).

Quoting TimToady (source):

Any language that doesn't occasionally surprise the novice will pay for it by continually surprising the expert.

We're going to make it more obscure possibly, without adding clarity.

As always, it will be so that if you want clarity, you can get clarity. If you want obscurity, you can get obscurity. The difference will be in *how* this is done. Some will go away, some new ones will be introduced.

I do like the freedom of expression, but we are going to create a lot of dialects with uber-TIMTOWDI.

More than before, I think that Perl 6 will have clearer "best" ways to do it. Junctions will help a lot.

I think the tendancy to have a lot of modifiers on declarations, etc, is confusing -- there is getting to be too much syntax to remember.

Why would you even try to remember everything? I use documentation all the time when I code. Even if you do remember the syntax and function calls, there are some important warnings to be made aware of.

Why is Perl5 cool? It's a minimalist language.

I think you are using a different Perl 5.

I want to see Python, Perl, and Ruby folks actively working on Parrot, not just Perl folks

I'm sure that any help is welcome. I think that as Parrot gets more complete and polished, integration gets better. Although I've seen all kinds of languages discussed already.

it needs to be VERY mindful of the things it is getting wrong in the way to that clean-ness.

I agree, and in some parts it is indeed going in the wrong direction, IMHO. (To sum them up: unicode operators, \d{1,5} becoming \d**{1..5}, over-use of «», confusing over-use of :).

Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://400322]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (2)
As of 2023-09-22 04:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?