Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Slow evolution of Perl = Perl is a closed Word

by Anonymous Monk
on Sep 01, 2007 at 03:53 UTC ( [id://636469]=note: print w/replies, xml ) Need Help??


in reply to Re: Slow evolution of Perl = Perl is a closed Word
in thread Slow evolution of Perl = Perl is a closed Word

"An IDE like Eclipse, which relies on static analysis is never going to be good enough for a language as dynamically typed as perl..."

As I said, Perl 5 in my opinion is impossible to be really parsed without run the code. This is way I still wait Perl 6, that is not so dependent of runtime states to define code.

"Perl's multi-threading is still under development..."

I know that! Is also have collaborated to it. The point is that we can’t wait more for a fine multi-threading on Perl. 5 years to develop it is just too much!

Replies are listed 'Best First'.
Re^3: Slow evolution of Perl = Perl is a closed Word (thread decade)
by tye (Sage) on Sep 01, 2007 at 05:05 UTC

    5 years? People have been trying to get decent threading into Perl at least twice that long. Bolting threading onto the side of a language that was developed in a way that is rather antithetical to threading is an extremely ugly task. I doubt you'll ever see reasonable threading in Perl 5 because

    1. I haven't seen over that decade the will to initiate the rather fundamental rewrite that would be required
    2. Perl 6 makes such a fundamental rewrite within Perl 5 even less likely

    A decent threading model was attempted for many years and eventually abandoned as impossible and replaced by a horrid threading model that had a better hope of one day becoming stable, if no hope of ever becoming a particularly good way of doing threading.

    So the hope for decent thread support in Perl is simply Perl 6.

    - tye        

      My gut feeling is that perl 5's threading model is probably the best possible, given all the constraints (i.e. backward compatibility).

      The problem with it, as far as I can see, is that the API is quite terrible (especially the perl side of things; it's probably easier to write complex pieces of a threaded perl application in C/C++). My main problem with it is that there is no common way of creating shared/shareable, object oriented libraries.

        My main problem with it is that there is no common way of creating shared/shareable, object oriented libraries.

        Two questions to ponder:

        1. Why is sharing objects in perl verbotten?
        2. What could be done to alleviate that restriction?

        If I told you that there is a simple mechanism that allows most form of perl OO to work as shared objects, without imposing the high cost of proxy object solutions, would you be interested?

        Would it change your mind about the efficacy of threading in Perl 5?

        Or would some other reason to dislike them come to the fore?


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
Re^3: Slow evolution of Perl = Perl is a closed Word
by Joost (Canon) on Sep 03, 2007 at 21:57 UTC
    As I said, Perl 5 in my opinion is impossible to be really parsed without run the code. This is way I still wait Perl 6, that is not so dependent of runtime states to define code.

    Perl - like many other "dynamic languages" - is just too flexible to be statically analyzed with certainty. This is not a parsing problem. LISP (which famously has "no syntax" and is completely trivial to parse) has the same issues.

    Consider this:

    my $method = "method_name"; for my $class (qw(Class1 Class2 Class3)) { my $object = $class->$method(shift (@arguments)); }
    Now consider that all the string literals in this code are just strings, and can come from anywhere else, including files, databases, user input etc.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2024-03-19 04:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found