Slashdot Mirror


The Perl Foundation Gets New Leadership

Andy Lester writes to tell us that the Perl foundation has named a new president and steering committee members. Bill Odom landed the seat of president, replacing Allison Randal who has occupied the seat since 2002. From the article: "Founded in 2000, The Perl Foundation (TPF) is a non-profit 501(c)(3) corporation based in Holland, Michigan, established to advance the use and development of the Perl programming language through open discussion, collaboration, design, and code."

38 of 145 comments (clear)

  1. What about Perl 6? by bhirsch · · Score: 3, Interesting

    Hopefully this will help Perl 6 in being released at some point soon. My favorite programming language seems to be lagging behind quite a bit.

  2. Keep them both? by neelm · · Score: 5, Funny

    Why not keep both on as president? That way there would always be more than one way to get something done... I'm sure that never leads to problems. /who let this python guy in the room?

  3. Re:Bring back Larry! by CyricZ · · Score: 3, Insightful

    It's not an issue whether we all want Larry to take over Perl again. It's more a matter of whether or not he wishes to resume such leadership. And judging by his past statements, he is not interested in that. He wants Perl 6 to be a community effort, as it has been.

    As it says on the Perl 6 home page:
    "Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community." - Larry Wall, State of the Onion speech, TPC4

    --
    Cyric Zndovzny at your service.
  4. Perl's place in todays world? by rockinrobotix · · Score: 5, Insightful

    Other than for products (or news aggregating websites) that were originally coded in Perl is there any reason to start a project today in Perl instead of any of the more modern scripting languages?
    This is not a rhetorical question (or in Slashdot: I am not trolling). I would actually like to know why developers would choose Perl over alternatives today on a new project.

    1. Re:Perl's place in todays world? by kurtu5 · · Score: 3, Funny
      A great reason to use perl is you can publish your code GPL and still keep your code secret!

      Perl gives one the ability to write very very obsfucated code. In fact I love perl. Looking at someone else's perl code is even more fun/challenging than solving suduku puzzles!

      Use perl if you don't want anyone, ever, maintaing your code.

    2. Re:Perl's place in todays world? by Anonymous Coward · · Score: 2, Insightful

      CPAN.

      CPAN is the silver bullet. While I prefer other scripting languages (heck, almost *any* scripting language) over Perl, no one comes close to having the sheer amount of instantly-useful code available as Perl boasts with the CPAN. Sure, there's some crap in there, but the wheat outshines the chaff by a wide margin.

    3. Re:Perl's place in todays world? by photon317 · · Score: 3, Insightful

      To you and your like minded responders: from the point of view of someone who stays current with perl, your question certainly seems like a troll.

      Perl continues to be a one of the most advanced languages in existance (slashdot jokes about how horribly bad one can shoot oneself in the foot with it notwithstanding). There is every reason to start a new project in Perl today. I'm really not even going to try to run down a list of reasons why here, they're just too numerous. If you haven't given serious professional development in Perl a shot, you're missing out. Perl really doesn't have any equals. Python comes close to being an alternative to Perl where the rules are more strictly enforced (which removes a lot of interesting possibilities), whitespace matters syntactically (and that's just insane in a modern language), and the majority of CPAN is missing.

      Take any paradigm, and method or way of developing, and unique and interesting feature of some other language, and it all can, will, and probably has been done in Perl. It is on some ways the ultimate metalanguage. You want OO? You have your choice of a wide array of completely different styles of OO (both in terms of internals and interfaces), whatever suits your needs. Are you a fan of functional programming ala Haskell? Try Language::Functional ( http://search.cpan.org/~lbrocard/Language-Function al-0.03/Functional.pm ). TheDamian even wrote a module that allows one to write perl code as correct sentences and paragraphs in proper Latin, even given Latin's lack of defined rules about word ordering. (see: http://search.cpan.org/~dconway/Lingua-Romana-Perl igata-0.50/lib/Lingua/Romana/Perligata.pm for the module, and http://www.csse.monash.edu.au/~damian/papers/HTML/ Perligata.html for the academic explanation)

      Perl 6 + Parrot I suspect will be even stronger than Perl 5, but only time will tell. Perl 5 will of course be around virtually forever, even with what deficiencies it has.

      BTW, there is recently a great new Perl book out called "Perl Best Practices", which goes about the business of telling you how to not write spaghetti unmaintainable broken perl code (of course, they way you do that isn't much different than how you do it in any other language, which just goes to show that the problem isn't neccesarily that Perl invites good programmers to program badly - the problem is that perl is so accessible and easy that it invites bad programmers to program at all).

      --
      11*43+456^2
    4. Re:Perl's place in todays world? by mpath · · Score: 2, Interesting

      Perl is a modern scripting language. Just because it's not "fresh" or has a fancy marketing scheme doesn't take away from its power & greatness. A lot of the newer/Web2.0 stuff is simply javascript on top of existing web services, which can be written in anything, including Perl. I guess the bottom line is that it's a great language and I enjoy writing my web applications in it because I know it so well and it's not limiting at all.

      --
      I'm not sure what the secret to success is, but the secret to failure lies in trying to please everyone -Bill Cosby
    5. Re:Perl's place in todays world? by Anonymous Coward · · Score: 2, Informative

      Hi:

      Just a comment on perl and threads - what (functionally) would a perl script need in terms of thread-like multitasking/parallel tasking that the astonishing POE doesn't provide ?

      Actually, tangent to the comment - why doesn't POE get the props it deserves as an AFAIK perl-unique resource ? Most casual perl users don't seem to even know it exists and what it doesn/can do ?

      http://poe.perl.org/?What_POE_Is

      Thanks -

    6. Re:Perl's place in todays world? by publius_ovidius · · Score: 4, Interesting

      As one of the people who was elected to the steering committee, I don't mind taking a poke at this question.

      Many of the complaints about Perl stem from the fact that Perl was a pioneer in getting "dynamically" typed languages before the public eye. It certainly wasn't the first (was LISP the first major one?), but it has been the largest. Unfortunately, because Perl has been blazing a trail it's had many years of going down promising paths only to find them dead ends (pseudo-hashes anyone?). Languages such as Python and Ruby have been happily running down this path and ignoring the trails they already know to lead to oblivion.

      This suggests an obvious question: what's wrong with Perl? Well, there's plenty wrong with Perl that I can point out, but interestingly, I've discovered that the complaints which Perl experts have are radically different from the complaints that casual Perl users have (amusingly, many folks who criticize Perl couldn't tell simple Perl and PHP snippets apart).

      Just as I have serious complaints with Perl, those who are experts in Ruby and Python probably have serious problems with those languages which do not mirror my own objections. Python, for example, is eliminating the badly implemented lambda function and getting rid of all hope for closures (feel free to correct me if I'm wrong). Ruby has mixins in lieue of multiple inheritance and traded one set of problems for another (trait composition seems to offer the best of both worlds but it hasn't caught on yet). However, those complaints probably reflect my imperfect understanding of those languages and I strongly suspect that those using these languages have other fish to fry.

      A big problem with Perl is that it's being taught incorrectly. Few teaching materials really focus on the linguistic basis of the language. Once you really, really understand the linguistic basis, the difference my $foo = ... and my ($foo) = ... becomes second nature. The idea of "topics" and "topicalizers", though more explicitly stated in Perl 6, are also quite important but not taught well. It's quite natural, but it's such an unusual feature for programming languages that those who come to Perl who pick up the language in a haphazard manner get annoyed at the seeming fickleness of the language even though many of these behaviors are quite predictable if you understand the linguistic underpinnings. That's not to say there aren't quite a few quirks in the language whose behavior is not predictable, but many languages suffer strange quirks and are still widely used.

      People complain about Perl's "line noise" characteristics and unmaintainable programs and ignore that much of this stems from heavy regular expression use (yell at regexes, not Perl) and people without a strong programming background finding the language easy to use (yell at those people, not at their tool). Professional programmers who use Perl often build large, robust systems in a fraction of of the time that developers in Java or C++ would. Of course, good programmers are implementing robust test suites, automatic builds and other tools to catch them when the fall.

      When all is said and done, were it not for Perl 6, I'd probably start using Ruby. I have really enjoyed Ruby the few times I used it but it had such limited use (prior to Rails) that I didn't want to jump ship.

    7. Re:Perl's place in todays world? by consumer · · Score: 3, Interesting
      ...is there any reason to start a project today in Perl instead of any of the more modern scripting languages?

      Apparently Amazon thinks so. They started using Perl for their new web development a couple of years ago.

    8. Re:Perl's place in todays world? by King+Babar · · Score: 4, Insightful
      This suggests an obvious question: what's wrong with Perl? Well, there's plenty wrong with Perl that I can point out, but interestingly, I've discovered that the complaints which Perl experts have are radically different from the complaints that casual Perl users have (amusingly, many folks who criticize Perl couldn't tell simple Perl and PHP snippets apart).

      What you say is true, but misses a major, major point. Perl right now has a pretty horrible reputation in some quarters, and even though it might be the result of kvetching from a lot of uninformed people, pointing this out is not a solution to the problem. More than a couple of political campaigns have gone down in flames when candidates made no useful response to baseless negative campaigning. Right now, I'm finally getting more excited by Perl6 now that there looks like there will be one, but we're still realistically looking at January 2007 for that, which is about seven years after the effort started.

      Given the comment at the very end of your post about Ruby, you realize the kind of mortal peril that Perl finds itself in. If Matz had not been Japanese, and therefore more of the Ruby docs had been available in English maybe 3 years earlier, Perl could have ended up stone cold dead. What the new leadership has got to keep in mind is very simple: if we don't finish Perl6 *right now*, we're all going to die. This was not the only way to have done things, but so much has been invested in Perl6 for so long that there is really no way to make Perl5 better in ways that will convince people that it isn't last year's language. If only a bit more thought had gone into Perl5 these last five years or so, we'd be in better shape right now.

      But I have one more point to make, while I'm on the soap box:

      People complain about Perl's "line noise" characteristics and unmaintainable programs and ignore that much of this stems from heavy regular expression use (yell at regexes, not Perl) and people without a strong programming background finding the language easy to use (yell at those people, not at their tool).

      That's not completely true. Like it or not, every Perl variable name has a piece of line noise attached to it that 90% of the time clarifies nothing. For that matter, there is the madness surrounding lexical variables in Perl. Using them is good programming practice, but every declaration of such a thing adds another "my" to the list. It would have been SO EASY to define a flag or a pragma noting that all of the declarations in a file were implicitly of "my" variables, but this never happened. And then there is the fiasco of function argument declarations. As in: Perl, unique among all other scripting languages doesn't yet have useful parameter lists in function definitions Every time I type somehing like my ($foo, bar, $baz) = @_; I think to myself "lame lame lame". Sure, Perl6 solves this one quite handily, and gives eleventy-seven different ways to call and declare function parameters, but Yeesh! Did we really have to wait for the One Great Perl to arrive to get something that sucks less than Javascript 1.0 in this respect?

      I have been a Perl programmer for 14 years now, and I think the world of what it can do. But I am telling you this: if we don't fix Perl, we will die. The seven lean years will kill us unless we make it completely obvious to people how superior Perl6 is, and unless we make sure that it really is out there to hack with. If betas of Perl 6 don't arrive before the middle of 2006, I swear we are doomed. Please do everything in your power to make sure this doen't happen.

      Thanks for listening. :-)

      --

      Babar

    9. Re:Perl's place in todays world? by halltk1983 · · Score: 2, Interesting

      My best friend since grade school works for a company that does *hospital* software, in OO perl. It is very stable, very functional, and very quick to update / patch. That is actually where he learned perl could be programmed in OO fashion. He then taught me, and we are currently working on a modular universal perl back-end for developing custom web-pages and web-based applications. OOPerl is very functional, and very simple. Lots of documentation on it online, too.

      Point of this post: perl can cut it, and does so efficiently in an environment where it is literally a life-and-death situation.

      --
      Watch for Penguins, they eat Apples and throw rocks at Windows.
    10. Re:Perl's place in todays world? by publius_ovidius · · Score: 4, Interesting

      I do agree that pointing out how invalid some criticisms of Perl are does not solve the perception problem. We're trying to figure out a good strategy to deal with this and suggestions are always welcome.

      As in: Perl, unique among all other scripting languages doesn't yet have useful parameter lists in function definitions Every time I type somehing like my ($foo, bar, $baz) = @_; I think to myself "lame lame lame".

      And later you wrote: I have been a Perl programmer for 14 years now ...

      I sometimes hear the criticism about Perl's argument handling, but I don't hear that as much as the line noise issue. The fact that you've been a Perl programmer for 14 years means that you are probably more keenly aware of this than most. I've released a module named Sub::Signatures which helps to deal with this (and allows multi-(?:method|function) dispatching (MMD) based on the number of arguments) but because it's a source filter, people are afraid to try it. Frankly, given the reputation of source filters, I can't say I blame them.

      In any event, this criticism is perfectly valid and it's one of my strongest complaints about the language. It's inherently tied to the MMD issue so the latter cannot be resolved easily without the former. Another major issue is lack of encapsulation in standard object creation. Class::Std helps to minimize the problem, but it has problems running under persistent environments such as mod_perl, thus limiting its usefulness in the sort of environment which is designed to scale and thus truly needs that encapsulation. These issues combined with a lack of proper introspection capabilities are my strongest complaints. Solving them would go a long way to making Perl a truly robust language.

      These issues aside, I specialize in building huge systems in Perl. I have worked on systems that tell Hollywood how much money their movies make while collecting and collating data from thousands of movie theaters across the USA. I currently work on software used by little-known companies such as the Rand Corporation, the World Health Organization and the Congressionally funded Radio Free Asia (they use my employer's software to publish their Web site in 10 different languages). The major requirement for building large systems such as these is having a robust test suite. Given the latter requirement, you can achieve powerful scalability with just about any language capable of it. Fortunately, because I choose to use Perl, I can roll out solid, robust code much faster than Java or C++ programmers. I have some amusing stories about destroying competitors using those languages because they couldn't keep up with our speed of development but NDAs compel me to keep quite :(

      As for Parrot and Perl 6, they solve these problems and many more. However, Parrot is revolutionary in its approach and given that that we are a volunteer organization, it is difficult to get qualified full-time developers to solve truly unique problems. Fortunately, we're finally getting there. Perl 6 is worth the wait but those who haven't been following it closely (and perhaps those who have been following it too closely :) are getting frustrated. I don't blame them, but we don't have a huge staff on hand to crank this stuff out the door.

      Patches welcome :)

  5. Through "design"? by MosesJones · · Score: 3, Interesting


    I know this is a cheap shot but its an important one. On the site (excluding Perl 6)there are THREE references to design, none of these are about how you actually should go about designing in perl and what is good practice for design of Perl programmes.

    For the Perl foundation to REALLY help its users out there it might want to promote more DESIGN and less CODE as a better way to approach Perl programming. I've wasted enough time debugging (and mainly binning) badly constructed Perl code, it would be great if the foundation addressed the issues of implementation (lack of design) rather than more bells and whistles for the inept to use.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:Through "design"? by slavemowgli · · Score: 2, Interesting

      Perl just gives you enough rope to hang yourself with - the fact that you *do* choose to hang yourself is not the language's fault. :) In fact, given the fact that Perl is supposed to make easy things easy and hard things possible, forcing a certain programming style upon its users would run contrary to the language's goals - specifically, it would run contrary to the "make the easy things easy" part.

      That being said, if you want to learn about how to design Perl programs, why not pick up a copy of Perl Best Practices, for example?

      --
      quidquid latine dictum sit altum videtur.
    2. Re:Through "design"? by photon317 · · Score: 2, Interesting


      The primary purpose of The Perl Foundation, IMHO, is to pick up cash and give it out to appropriate people so they can eat and sleep in peace while they make Perl better. Some of the most insanely talented Perl developers (as in developers of perl itself and the core modules in it, rather than users of perl) get some cash through this foundation, and they're the ones making the design-related decisions.

      --
      11*43+456^2
  6. There will always be a place for Perl. by CyricZ · · Score: 2, Interesting

    Indeed, we may be seeing Perl's reign in certain areas coming to an end. Java, PHP and Ruby have taken over when it comes to developing web apps. The regular expression support of languages like Python, Ruby, and even C# trump that of Perl.

    While Perl was once a great innovator, today it is increasingly becoming a thing of the past. What were once great benefits of Perl have become standard features in many other languages. And unfortunately, Perl has failed to stay a step ahead of the game. The Perl 6 delays have not helped it at all. Indeed, while Perl will surely be used for decades to come, it is quite rapidly losing its place as the glue of the open source world. Python and Ruby are quickly taking over, if they haven't already done so.

    --
    Cyric Zndovzny at your service.
    1. Re:There will always be a place for Perl. by Florian+Weimer · · Score: 2, Interesting

      I think Perl has mostly catched up again. There was a time when Python offered regular expressions as a first-class type, but Perl didn't. But the named captures which are offered by Python and others are only available as "highly experimental" extension in Perl.

    2. Re:There will always be a place for Perl. by Lost+Found · · Score: 3, Insightful

      On the contrary, the absolutely huge market share Perl has, combined with the 8,000+ modules available freely on CPAN, combined with the fact that well made Perl applications can readily outperform those in any other comparable language, means it's going to be around for a long time. And on the Perl6 subject, when Perl6 is available, it's going to blow the doors off of everyone else for a long time.

    3. Re:There will always be a place for Perl. by OverlordQ · · Score: 2, Interesting

      WHy do you ne4ed named captures you got $1 through $N sure you can't named them $foo through $bar, but there's still readily available. if you need them then do something like:


      my ($foo, $bar) = $something =~ m#(.*)!(.*)#;


      $foo gets the first one, $bar get's the second one.

      --
      Your hair look like poop, Bob! - Wanker.
    4. Re:There will always be a place for Perl. by chromatic · · Score: 5, Informative

      Multi-dispatch, junctions, roles, rules and grammars, a much improved VM, asynchronous IO, working threads, an event system, continuations and coroutines, optional typing and type inferencing, an immensely improved FFI, interoperability with other languages including Perl 5, an improved object system, hyperoperators, unification of blocks and closures, properties, object-like built-ins, improved reflection and introspection, improved consistency, improved clarity, and improved distribution possibilities.

    5. Re:There will always be a place for Perl. by LLuthor · · Score: 2, Insightful

      The regular expression support of languages like Python, Ruby, and even C# trump that of Perl.

      In what way can the regular expression capabilities of any of these languages even approach that of Perl?

      Please put down your crack-pipe and have a look at the perlre man-page and the CPAN archives.

      --
      LL
  7. Re:Perl is Dead by Vorondil28 · · Score: 3, Funny

    As long as Netcraft doens't confirm it, I'll keep coding.

    --
    This sig rocks the casbah.
  8. what perl's features are now standard? by SolitaryMan · · Score: 2, Insightful

    What were once great benefits of Perl have become standard features in many other languages.

    If you were talking about Python or Ruby, I could've agreed. But Java, C#, PHP are *DAMN FAR BEHIND* in this respect. I mean, metadata manipulation, built in hash and list data types with appropriate manipulation functions (grep, map etc.) are still "too advanced" features for modern programming languages like C# and Java.

    --
    May Peace Prevail On Earth
  9. Dear Perl letter by Colonel+Panic · · Score: 3, Interesting

    Dear Perl,

    Look, I know that we were an item for quite a few years.

    You were my one and only. My true love.
    But I've gotta admit, when I saw your younger sister Ruby a few years back... well, I thought she was hot. But of course, she was too young then so I stayed away from her.

    Now, more recently I have to confess that I went out with Ruby for a few dates and believe me, she is plenty mature now!
    Not only that but her library seems somehow more complete than yours and certainly better organized. And her object oriented features - OO la la! Look, you're a great gal, but you're certainly not anywhere near as well endowed in THAT department.

    And now that Ruby's got transportation (ok, so she likes to ride the rails) we're really getting around.

    So, dear Perl, I have to tell you that it's over between you and me. From now on it's me and Ruby.
    Please don't take it too hard. Maybe you'll find someone else after you're makeover.

    John

  10. Re:Something would get in the way. by andy@petdance.com · · Score: 3, Informative

    Not ego at all. As noted in the article, Allison stepped aside so that she could concentrate on Perl 6 and Parrot development.

  11. Re:Catch-up by chromatic · · Score: 2, Insightful
    Java, and C# (especially C#), however are truely on the cutting edge...

    The cutting edge of what, the best technologies the '70s had to offer?

    It's not clear that you understand CPS, continuations, coroutines, properties, language-supported roles, optional type inferencing and strictness, junctions, hyperoperators, rules, grammars, or closure-based control structures. I don't expect to see Java add any of those features in the next ten years. The CLR might add a few in the next five years.

    Have you ever programmed in a language outside of the Algol family tree?

  12. Re:The next wave of innovation. by A+beautiful+mind · · Score: 3, Insightful

    "Perl was the innovator. And Perl even managed to popularize regular expressions. But these days others have taken over the task of innovation in that field."

    I thought that it's not necessary to make my point stronger, but it seems so.

    Disclaimer: I've seen you posting a couple of times intelligent stuff, i believe this is one of the few mind barfs everyone has when you posted about Perl having worse regexp than the others listed.

    You talk way too generalized, about languages and not in exact, specific things when you're talking about regular expression support in those languages. Mind you, Perl is practically built around regular expressions. 'perldoc perlre' and 'perldoc perlop' should give you a slight idea how it looks like. While maybe C# has regular expression support like for example, sed or even my favorite text editor, vim does, it's nowhere near Perl's support for regular expressions. In Perl, you can use regular expressions almost everywhere, taking full advantages of the Perl additions. Ever wondered why people actively using regular expressions talk about the sed style and Perl style regular expressions? Because Perl added a lot of new/good stuff, mostly which is not duplicated fully elsewhere. In C#, support for regular expressions is nowhere near to Perl. About Python - I've got marginal experience, so i'd rather not judge it, but Ruby isn't built around regular expressions either. Sorry, Perl still is the most regular expression capable language around.

    If you have already taken a look at Perl 6, then you might have seen that the regular expressions are almost completely taken to a new level there, so I'd rather say that Perl will stay _the_ top regular expression language for a while...

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
  13. Mods 5 Interesting? by truckaxle · · Score: 2, Insightful

    The regular expression support of languages like Python, Ruby, and even C# trump that of Perl. And what do you base this comment on - which is stated as fact with no supporting reference or valid points.

  14. Language post! Bring on the FUD! by Kirby · · Score: 3, Insightful

    Of course, any time a slashdot article talks about a programming language, there's a concerted effort by the language's detractors to say things like, "Does any one still use Perl?" "C++, isn't that a dead language with C# and Java taking its place?" "Java's just marketing hype, and C# doubly so, nothing beats C." and so on forever.

    But of course we do this. As programmers, winning the language evangelism wars is one of the few things that really matters. And by matters, I mean it affects how much money I make.

    I'm a good Perl programmer. I'm a novice at several other languages. I could pick them up, but it'll take years before I'm as proficient in anything else as I am in Perl. The same is true for most programmers after they pass the five year mark or so.

    So, if the VP of an up and coming company chooses Java, I'm very unlikely to work there. If they choose Perl, I might. And it increases demand for Perl programmers. It's nothing but good for me if there's more options available when the day comes for me to change employers. And so, I have a vested interest in people believing Perl is faster to develop in and easier to maintain than Java or C#.

    And so, don't believe me. And don't believe anyone else either who is detracting. It's in their interest to see people start projects in their language of choice. There's very little impartiality here.

    Instead, ask yourself: does this language do the job? Is the development time acceptable? Is the performance acceptable?

    I think Perl is very hard to beat on development time, and very few people need the performance of C or assembly - but I've just told you that I have invested a lot of time in becoming an experienced Perl programmer, so I want you to believe Perl is the tool to use. I don't think I've attached myself to a bad language, and I think it'll really win a fair fight quite often, but the court of public opinion (especially Slashdot Comments) is just such a terrible place to form technical opinions.

    --
    -- Kate
  15. Re:Ruby and Python "Power", and the Parrot joke by publius_ovidius · · Score: 2, Informative

    Dead in the water? Parrot is being actively developed, has part of its development being funded by NLNet, and has made great strides in showing the power of a register-based virtual machine vis-a-vis a stack-based virtual machine. Further, instead of just being a "Perl only" sort of thing, tons of developers in many languages have become excited about what Parrot can do for them and we have active developers coming in from other languages to help out given how excited they are about this. Of course, as the Parrot grant manager (er, this is a new role for me and one that most don't know about), I perhaps see this more than most but you're welcome to sign up on the development lists and see for yourself rather than just take my word for it.

    Of course, if you have any substance to back up your "mental masturbation" comments, feel free to share it. I'm sure there are many developers who would be curious to know why they're wasting their time.

  16. Generalized Overloading in C++ blows away Perl by SimHacker · · Score: 2, Funny

    With an attitude like that, I'll bet C++ would really appeal to you, too -- you should definitely check it out! Why wait for Perl 6 when you can start learning C++ today!!! C++ has just as many cool buzzwords as Perl, and it tries to go down even more dead-end paths at once! You'll just love operator overloading and templates, and you'll want to use all its advanced features at once in every program you write! But if you don't have time to learn C++, then why not adapt its best ideas to Perl?

    You'll really be amazed by Bjarne Stroustrup's brilliant extension to C++: "Generalized Overloading for C++2000", and I'm sure you'll want to delay the release of Perl 6 some more until all these cool features can be appropriated and hacked into the Parrot VM.

    Here are some of the most amazing features of Generalized Overloading in C++2000, that you will never be able to live without, once you've tried them:

    With the acceptance of the ISO C++ standard, the time has come to consider new directions for the C++ language and to revise the facilities already provided to make them more complete and consistent. A good example of a current facility that can be generalized into something much more powerful and useful is overloading. The aim of overloading is to accurately reflect the notations used in application areas. For example, overloading of + and * allows us to use the conventional notation for arithmetic operations for a variety of data types such as integers, floating point numbers (for built-in types), complex numbers, and infinite precision numbers (user-defined types). This existing C++ facility can be generalized to handle user-defined operators and overloaded whitespace.

    [...] Here, I describe the more innovative and powerful mechanism for overloading whitespace. Consider x*y. In programming languages (e.g. Fortran, Pascal, and C++), this is the conventional notation for multiplying two values. However, mathematicians and physicists traditionally do not use the operator *. Instead they use simple juxtaposition to indicate multiplication. That is, for variables x and y of suitable types,

    x y

    means multiply x by y.

    [...] Overloading Separate Forms of Whitespace

    There are of course several forms of whitespace, such as space, tab, // comments, and /* */ comments. A comment is considered a single whitespace character. For example,

    /* this comment is considered a single character
    for overloading purposes
    */

    It was soon discovered that it was essential to be able to overload the different forms of whitespace differently. For example, several heavy users of whitespace overloading found overloading of newline ('\n'), tab ('\t'), and comments as the same arithmetic operator is counterintuitive and error prone. Consider:

    double z1 = x y; // obvious
    double z2 = x
    y; // obscure
    double z3 = x /* asking for trouble */ y;

    In addition, different overloading of different whitespace characters can be used to mirror conventional two-dimensional layout of computations (see below).

    Stavtrup claimed that it was important to distinguish between different number of adjacent whitespace characters, but we did not find that mechanism useful. In fact, we determined it to be error-prone and omitted for Standard C++.

    Overloading Missing Whitespace

    After some experimentation, it was discovered that the overloading mechanism described so far did not go far enough. When using the mechanism, the physicists tended to omit the space character and write

    xy

    rather than

    x y

    This problem persisted even after the overloading rules had been clearly and repeatedly explained. What was needed wasn't just the ability to overload explicit use of whitespace, but also implicit application. This is easily ach

    --
    Take a look and feel free: http://www.PieMenu.com
  17. Re:Catch-up by publius_ovidius · · Score: 5, Interesting

    80% catch up? I think your math is off.

    Catch up:

    • multi-dispatch
    • asynchronous IO
    • working threads
    • an event system
    • immensely improved FFI
    • properties
    • object-like built-ins
    • improved reflection and introspection
    • improved consistency
    • improved clarity
    • improved distribution possibilities.

    Revolutionary (items in parentheses explain why some "common" features are included here):

    • an improved object system (revolutionary in its approach)
    • Register-based VM
    • junctions
    • roles
    • rules and grammars
    • continuations and coroutines (not widespread)
    • optional typing and type inferencing (other languages typically don't make this optional)
    • interoperability with other languages including Perl 5 (because of how easy it is)
    • hyperoperators
    • unification of blocks and closures

    (Before you criticize those things I put in the revolutionary list, you'd have to take the time to read up on them and realize why I put them there rather than just assume that I don't know what I'm talking about. I've programmed in many languages and I have a very good idea of what's common and what's not -- though perhaps I'm just smoking crack.)

    Of course, I could make similar comments as yours about Java (I don't know C++ well). Java languished for a long time without regular expressions. Autoboxing in Tiger was an attempt to get around some of the difficulties inherent in typing the container. The latest Dr. Dobb's has an interesting article about functional programming in Java -- something many other programs have allowed for years. Of course, Java still doesn't have closures (that's sooooo 1980's and interfaces were a neat idea which introduced a different set of problems for the ones they solved). Further, Java's decision to type the containers instead of the data means they must focus more on class types than class capabilities, thereby eliminating many of the benefits of allomorphism. And not even get into how ridiculously verbose the language is. I don't play "Perl golf". I take the time to write out clear code. It's still far shorter than equivalent code in Java.

    Mind you, just because I list these issues with Java does not mean that I think it's a bad language. On the contrary: I happen to like Java. I sometimes program in it and just as Perl has some benefits over Java, the reverse is often true. Java and Perl are both crazy but Perl is my type of crazy.

  18. Perl can't see the syntax for the trees by SimHacker · · Score: 2, Insightful

    The meaning of a program should be clear and unambiguous to the reader, and not require you to do a lot of pattern matching and apply a bunch of rules and heuristics to understand what it means. Most copies of the K&R C manual fall open to the same page: the table of operator precedence. That shows that the skyscraper of precedence rules was a mistake in the design of the language, but Perl takes that idea and runs with it, in many different directions!

    That example of how Perl 6 is fucked is that "print (1+2)+3" will not be the same as "print(1+2) + 3". That's MUCH more confusing and unexpected than Python or almost any other language! The white space that Python requires simply makes the program clearer and easier to read, but Perl's astonishingly arbitrary parsing heuristics make it extremely difficult to understand, and horribly easy to make dreadful mistakes.

    Yet you leap to defend Perl 6's bizarre and unexpected interpretation of white space as if it were a benefit??! With a spin like that, you should apply for Scott McClellan's job. Are you just one of those slackers who loves Perl because of its deep flaws, due to the job security it gives you? That's a BAD long term plan.

    PS: In case you're like one of the people working on Parrot who take jokes much too seriously and can't detect sarcasm, my previous message about C++ Generalized White Space Overloading was a joke, and the publication date of that Generalized Overloading for C++2000 proposal (which was really written by Bjarne Stroustrup), was April 1.

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
    1. Re:Perl can't see the syntax for the trees by chromatic · · Score: 2, Interesting
      The meaning of a program should be clear and unambiguous to the reader...

      Perhaps the reader should bother to learn the language (or at least consult the error messages) before complaining that it's too difficult to read.

      I can't read Asian pictograms or any Sanskrit-derived languages, but somehow a couple of billion people in the world manage to get by with them.

  19. Guile by SimHacker · · Score: 2, Informative

    The Gnu kernel is being actively developed, and has bla bla bla...

    Why aren't you just extending Guile, which has been declared the official GNU scripting langauge by none other than RMS himself.

    Tom Lord discusses the history of Guile, in the context of the great TCL war, which happened just before Java came onto the scene.

    Ian Bicking discusses some of the reasons why Guile failed to gain any traction.

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
    1. Re:Guile by publius_ovidius · · Score: 2, Informative

      If you read through your post, you see that you talked about Guile a few times and gave no indication that in clicking a link apparently about Guile that I might, just might, have gleaned a bit of insight about why you object to Parrot. If you have bothered to say up front "hey, this has info relevant to my Parrot objections", I would have clicked the link.

      Of course, the main points of that link were lack of developer effort (Parrot has tons of devopers compared to Guile though I confess we don't have enough) and the issue of string handling in different languages (a problem that Parrot addressed a long time ago). There's a claim that a CLR will force languages to adopt a common set of semantics. That claim is false. If you pay attention to current Parrot development, you'd know that. Or if you just asked instead of assumed, you'd know that.

      If you have anything current to say, we're all ears. Post it to the development lists, though. I really don't want to bother arguing with someone who is attacking a project they clearly have little knowledge of.