Slashdot Mirror


Larry Wall Unveils Perl 6.0.0

An anonymous reader writes: Last night Larry Wall unveiled the first development release of Perl 6, joking that now a top priority was fixing bugs that could be mistaken for features. The new language features meta-programming — the ability to define new bits of syntax on your own to extend the language, and even new infix operators. Larry also previewed what one reviewer called "exotic and new" features, including the sequence operator and new control structures like "react" and "gather and take" lists. "We don't want their language to run out of steam," Larry told the audience. "It might be a 30- or 40-year language. I think it's good enough."

163 comments

  1. It's about time by geekd · · Score: 4, Interesting

    I went to a presentation at a Unix convention in San Diego in 2000, 15 years ago, where Larry Wall talked at length about Perl 6, and how he was hard at work on it.

    Well, better late than never.

    1. Re:It's about time by tnk1 · · Score: 5, Funny

      It is the End Times. I never thought this would ever happen.

      Good bye everyone, it was fun while it lasted.

      I'll be writing my "Hello apocalypse!" script in perl6 shortly.

    2. Re:It's about time by rubycodez · · Score: 1

      No, just a dev release. Still no production Perl 6. Larry continues to indulge in mental masturbation and add whatever catches he fancy from any and all other languages. It's like urban sprawl for a city with no zoning

    3. Re:It's about time by Anonymous Coward · · Score: 0

      Well, better late than never.

      They should have just named it Perl Forever; it's actually been in development as long as DNF (prior to its eventual release) at this point. If it's really, truly released "this Christmas" like promised, it'll still have taken longer than DNF.

      Now all we're missing is HURD.

    4. Re:It's about time by Pseudonym · · Score: 1

      I can beat that. I was at the announcement at TPC4.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    5. Re:It's about time by bytesex · · Score: 1

      say 'Hello apocalypse!';

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    6. Re:It's about time by Nephrite · · Score: 1

      No, not yet. Half Life 3 is yet to come.

    7. Re:It's about time by Ketorin · · Score: 1

      Also, Knuth hasn't yet finished "The Art of Computer Programming".

      (Publish the fifth issue and update 1-3.) At this phase, he'll need to break the oldest human alive record several times over...
      It's just too much work. If it gets finished, it won't be by him.

    8. Re:It's about time by walkeraj · · Score: 1

      I came here to say almost exactly this.

      --
      Those days are dead and gone and the eulogy was delivered by Perl. --Rob Pike
    9. Re: It's about time by abylund · · Score: 1

      Today was supposed to be the end of the world, right? Now it makes sense.

  2. Can't find independent verification by cruff · · Score: 1

    Neither perl6.org and its mailing lists seem to mention anything about this. The links in TFA are blocked by OpenDNS too.

    1. Re:Can't find independent verification by Anonymous Coward · · Score: 0

      Neither perl6.org and its mailing lists seem to mention anything about this. The links in TFA are blocked by OpenDNS too.

      CONSPIRACY!

    2. Re:Can't find independent verification by destinyland · · Score: 5, Informative
      It's a development released (timed to coincide with Larry's birthday in September, according to Wikipedia).

      Here's URLs where the event was announced.

      http://www.meetup.com/SVPerl/e...

      http://perl6releasetalk.ticket...

  3. How about that by Anonymous Coward · · Score: 1

    Didn't quite believe it would ever happen.
    Not that I'm eager to adopt it, we have lots of perl5 code and the conversion would be significant.

    1. Re:How about that by rubycodez · · Score: 1

      it hasn't happened, just a dev release. so Perl 6 not ready still, after 15 years of screwing around

  4. The race is on by Anonymous Coward · · Score: 4, Funny

    Perl 6 vs. Python 3 - who will get to 1000 users first?

    1. Re:The race is on by jellomizer · · Score: 1

      I actually use Python 3 for most of my work. Once I learned to put () around my prints like in nearly every other language I was fine.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:The race is on by Anonymous Coward · · Score: 1

      considering perl5 code runs in perl6... it'll happen pretty quick

    3. Re: The race is on by Anonymous Coward · · Score: 0

      Perl 6 will sure attract more women into coding

    4. Re:The race is on by Anonymous Coward · · Score: 0

      No natively. You have to include some special modules to allow perl5 code to run.

      20+ year user of perl here. Some perl 6 things are good. Objects and method handling are much much improved. I like the dot function calls and my fingers will get used to using % and @ instead of $.. but I really hate the 'item' call for references, I don't like the new for syntax, and so much of it seems like change for change's sake.

      Change is good, if it brings a benefit, but some of this stuff doesn't make sense as to why they changed it. Maybe it was necessary to fit with the idea of running on a VM better.

      And seriously, on a VM??? With garbage collection???? FFS. I know, I know, perl5 has a certain type of 'garbage collection' in the strictest sense of the word. But I've been in systems too long and supported too many shitty java apps with GC problems.

      I hope perl5 is still maintained and updated until I retire.............

    5. Re:The race is on by Anonymous Coward · · Score: 0

      py3k is superior in almost every way.
      I don't understand why people insist on using version 2.
      They've had years to update.

    6. Re:The race is on by Anonymous Coward · · Score: 0

      You can pipe anything to python2 since it uses byte strings, just like C.
      Enforcing an encoding is retarded and 2.7 still has some years of support.

    7. Re:The race is on by Anonymous Coward · · Score: 0

      Superior in every way except:

      Ease of use
      Library support
      Performance
      Smugness level

      I don't understand why anyone would bother with "py3k". Face it. Guido and his entourage took a big arrogant dump on the userbase and called it "py3k ... the future of python".

    8. Re:The race is on by Anonymous Coward · · Score: 0

      Nonsense.

      The only more difficult syntax options are both rare and have alternatives for the stubborn.
      The library support issue largely evaporated almost two years ago. The most egregious of stragglers are being replaced.
      Performance is much better on the whole.
      The last one isn't a real thing.

    9. Re:The race is on by Anonymous Coward · · Score: 0

      You can pipe anything into python3 because it can use byte strings as well. In fact, python3 doesn't really enforce an encoding either, as you can use whatever one you want, apparently you didn't read that in the docs: https://docs.python.org/3/library/codecs.html#standard-encodings

    10. Re:The race is on by Anonymous Coward · · Score: 0

      If its as easy as upgrading the binary of Perl or Python, I'd be all for going to 6/3. Unfortunately, most of this sort of thing requires redo-ing all of your code. Something most companies don't care to invest programmer time in.

  5. Larry WOL by presidenteloco · · Score: 1

    In related news, Larry has announced he is changing spelling of his name to more accurately describe his life's work:

    Larry
    W(rite)
    O(nly)
    L(anguage)

    --

    Where are we going and why are we in a handbasket?
    1. Re: Larry WOL by Anonymous Coward · · Score: 0

      His goal is to make a self-aware programming language. You know emergent behavior, the idea that complex behavior can arrise in simple systems? Well, Larry's idea is that self-awareness will arrise in a sufficiently complex system. He has now realized that he can't make Perl complicated enough on his own, so the new version lets programmers add their own arcane complexity; he hopes this will be enough to put it over the edge. Like he apparently is, thinking that anyone _likes_ a language where "there's more than one way to screw up".

  6. Again? by Anonymous Coward · · Score: 0

    I think it's been unveiled a few times now

  7. I welcome looking at the new Perl code by Anonymous Coward · · Score: 0

    I miss looking at my modem's line noise.

    1. Re: I welcome looking at the new Perl code by Anonymous Coward · · Score: 0

      Is it 1998 again?

  8. Re:Perl? LOL. by Anonymous Coward · · Score: 0, Flamebait

    Hopefully it sucks less than Duke Nukem Forever.

  9. Re:LOL, Perl? Seriously? by Anonymous Coward · · Score: 0

    You never wrote anything in perl.

  10. Re:LOL, Perl? Seriously? by halivar · · Score: 5, Funny

    Actually, if you look closely, the GP is actually a Perl script for computing the Fibonacci Sequence.

  11. Non JVM by theArtificial · · Score: 1

    I saw that there are several implementations that use JVM. For those who have been following the situation a bit closer is there any progress behind a non JVM Perl6?

    --
    Man blir trött av att gå och göra ingenting.
    1. Re:Non JVM by destinyland · · Score: 1

      The "Compilers" section at Perl6.org talks about Rakudo as being "a compiler running on MoarVM, the JVM and other backends."

      At the presentation last night, Larry said they'd plan to focus just on MoarVM, but they were pleased with the progress of the JVM, so there's some support for that too.

    2. Re:Non JVM by destinyland · · Score: 1

      That should be "planned". (Larry said they'd PLANNED to focus just on MoarVM, but they were pleased with the progress of the JVM, so there's support for that too...)

  12. Re:Perl? LOL. by jellomizer · · Score: 2, Insightful

    Perl still has a place, however it isn't the golden child language it once was.
    Perl heyday was during the mid-late 1990's when having a Relational Database was considered an expensive (in software price and/or in system requirements) so for Web Applications, that needed to do a server side data processing there was a lot of reading flat text data. Perl is still king at flat text processing. However with MySQL, PostGreSQL and Microsoft SQL Server 2000 being created and designed to be good enough to handle the large data sets, and with system resources that can fit on your mid range server. So PHP, Java servlets, ASP took Perl golden child status, as they are better designed to interact with the database, as well the ability to embed your code with your HTML simplifying the process.
    So its place as the de facto language for all things web is rather dated... However it is still good for text processing and can do what it needs to do.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  13. Next up by Anonymous Coward · · Score: 0

    GNU Unix!

  14. Re:It's about time 11 years after the book by rduke15 · · Score: 5, Funny

    And the book appeared more than 11 years ago, so indeed, it's about time. Now I only have to wait for it to appear in Debian stable ...

  15. Re:Perl? LOL. by fyngyrz · · Score: 1

    golden child language

    only viable scripting language choice

    FTFY

    --
    I've fallen off your lawn, and I can't get up.
  16. Re:LOL, Perl? Seriously? by fyngyrz · · Score: 1

    ok, now *that* was funny :)

    --
    I've fallen off your lawn, and I can't get up.
  17. PHP 6 is out?! Finally... by Anonymous Coward · · Score: 0

    oh ... wait.

  18. Bugs mistaken as features? by mbkennel · · Score: 3, Funny

    | Last night Larry Wall unveiled the first development release of Perl 6, joking that now a top priority was fixing bugs that could be mistaken for features.

    Sounds good.

    | The new language features meta-programming — the ability to define new bits of syntax on your own to extend the language, and even new infix operators.

    Hey Larry, I found a huge bug which could be mistaken as a feature!

    1. Re:Bugs mistaken as features? by lgw · · Score: 4, Interesting

      It gets better, in addition to "comefrom" (OK, "react"), the only branching construct worse than goto, you can change operator precedence. How'd you like to maintain that code?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    2. Re:Bugs mistaken as features? by Amouth · · Score: 1

      i was thinking the same thing, while i look at it and say "neat" and think about how much fun that would be to use.

      Then i also stop and have to ask, Isn't it already hard enough to read someone else's perl code? with this having to pickup someone else's perl code will be a nightmare.

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    3. Re:Bugs mistaken as features? by Anonymous Coward · · Score: 0

      Sounds crazy, but doesn't C give you the same level of control?

    4. Re:Bugs mistaken as features? by alvinrod · · Score: 3, Interesting

      How'd you like to maintain that code?

      No one would, which sounds like job security to me.

    5. Re:Bugs mistaken as features? by wheelbarrio · · Score: 1

      Where are my + mod points when I need them?

    6. Re: Bugs mistaken as features? by Anonymous Coward · · Score: 0

      This is like calling stack smashing and heap corruption a feature of the C language.

    7. Re:Bugs mistaken as features? by fisted · · Score: 1

      Changing operator precedence? No.

    8. Re:Bugs mistaken as features? by KGIII · · Score: 1

      Meh... I kind of like Perl. Nobody can tell the difference between my gibberish and good code. Given my roundabout logic process I look like a straight up genius. Well, that and I can't actually manipulate data well so a flat file is about as complex as I tend to get.

      Yes, yes there's a bunch of reasons I hired professionals.

      --
      "So long and thanks for all the fish."
    9. Re:Bugs mistaken as features? by istartedi · · Score: 1

      Features like that wouldn't be so bad if there were a way to isolate their use. For example, ordinary Perl files could be .pl and not allowed to change the language. Perl files that mucked with the language in various ways would be required to have a .pld (Perl Language Definition) suffix. That way you could make rules like, "No PLD files in this project" or "only Joe has permission to change the PLD and you'd better have a damned good reason for asking him to change it".

      There are legit reasons to modify the language, create DSLs and code in them, etc. It's just like how there are legit reasons to have Howitzers in the army, but you don't just turn them over to PFCs straight out of boot and say, "here, figure this out".

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    10. Re:Bugs mistaken as features? by lgw · · Score: 1

      Larry certainly one-upped C++ operator overloading!

      But of course, you could enforce just what you suggest with code reviews and a grep or two just to be sure.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    11. Re:Bugs mistaken as features? by Anonymous Coward · · Score: 0

      Sure you can--if you use the preprocessor. That way lies madness, but it's technically possible.

    12. Re:Bugs mistaken as features? by Anonymous Coward · · Score: 0

      How would you change operator precedence with the preprocessor?

    13. Re:Bugs mistaken as features? by Anonymous Coward · · Score: 0

      Larry was jealous that perl programs weren't winning the obfuscated C contests.

    14. Re:Bugs mistaken as features? by Anonymous Coward · · Score: 0

      Writing in dead languages doesn't translate to job security in most of the places I've worked. ;)

    15. Re:Bugs mistaken as features? by david_thornley · · Score: 2

      I'm primarily a C++ guy these days. C++ has plenty of ways to write unmaintainable programs, so I'm used to having to make sure the code I write is maintainable. (I also write maintainable Perl.)

      What you do not want to do is accept code from a C++ developer who knows how to use all the neat features but not when not to. This has been true of Perl, also, ever since I encountered it.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    16. Re:Bugs mistaken as features? by Wee · · Score: 1

      Isn't it already hard enough to read someone else's perl code?

      If they are shit programmers, yeah. You can write garbage in nearly any language. Perl just makes it easier to write shitty code.

      -B

      --

      Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

    17. Re:Bugs mistaken as features? by Anonymous Coward · · Score: 0

      Lots and lots and lots of parentheses; easier with C99.

  19. No Coroutines by Anonymous Coward · · Score: 5, Insightful

    No coroutines. So sad. That still leaves Lua and Stackless Python as the only languages with symmetric, transparent coroutines without playing games with the C stack.

    Neither Lua nor Stackless Python implement recursion on the C stack. Python and apparently Perl6/More implement recursion on the C stack, which means that they can't easily create multiple stacks for juggling multiple flows of control. That's why in Python and Perl6 you have the async/await take/gather syntax, whereas in Lua coroutine.resume and coroutine.yield can be called from any function, regardless of where it is in the stack call frame, without having to adorn the function definition. Javascript is similarly crippled. All the promise/future/lambda stuff could be made infinitely more elegant with coroutines, but all modern Javascript implementations assume a single call stack, so the big vendors rejected coroutines.

    In Lua a new coroutine has the same allocation cost as a new lambda/empty closure. And switching doesn't involving dumping or restoring CPU registers. So in Lua you can use coroutines to implement great algorithms without thinking twice. Not as just a fancy green threading replacement, but for all sorts of algorithms where the coroutine will be quickly discarded (just as coroutines' little brothers, generators, are typically short lived). Kernel threads and "fibers" are comparatively heavy weight, both in terms of performance and memory, compared to VM-level coroutines.

    The only other language with something approximating cheap coroutines is Go.

    I was looking forward to Perl 6. But I think I'll skip it. The top two language abstractions I would have loved to see were coroutines and lazy evaluation. Perl6 delivered poor approximations of those things. Those approximations are okay for the most-used design patterns, but aren't remotely composable to the same degree. And of course the "most used" patterns are that way because of existing language limitations.

    These days I'm mostly a Lua and C guy who implements highly concurrent network services. I was really looking forward to Perl6 (I always liked Perl 5), but it remains the case that the only interesting language alternative in my space are Go and Rust. But Rust can't handle out-of-memory (OOM). (Impossible to, e.g., catch OOM when creating a Box). Apparently Rust developers think that it's okay to crash a service because a request failed, unless you want to create 10,000 kernel threads, which is possible but stupid. Too many Rust developers are desktop GUI and game developers with a very narrow, skewed experience about dealing with allocation and other resource failures. Even Lua can handle OOM trivially and cleanly without trashing the whole VM or unwinding the entire call stack. (Using protected calls, which is what Rust _should_ add.) So that basically just leaves Go, which is looking better and better. Not surprising given how similar Go and Lua are.

    But the problem with Go is that you basically have to leave the C worldbehind for large applications (you can't call out to a C library from a random goroutine because it has to switch to a special C stack; which means you don't want to have 10,000 concurrent goroutines each calling into a third-party C library), whereas Lua is designed to treat C code as a first-class environment. (And you have to meet it half way. To make Lua coroutines integrate with C code which yields, you have to implement your own continuation logic because the C stack isn't preserved when yielding. It's not unlike chaining generators in Python, which requires a little effort. A tolerable issue but doable in the few cases it's necessary in C, whereas in Python and now Perl6 it's _always_ an issue and hinderance.

    1. Re:No Coroutines by Anonymous Coward · · Score: 0

      Only an AC thinks coroutines are an optional construct. Go back to parsing your text files kiddo.

    2. Re:No Coroutines by Anonymous Coward · · Score: 0

      Just like the AC who proposed coroutines as an optional construct? Sound like you need to "Go" fuck yourself

    3. Re: No Coroutines by Anonymous Coward · · Score: 0

      Julia has coroutines

    4. Re: No Coroutines by jhoger · · Score: 2

      Too bad Lua sucks last time I checked. Remember trying to do bitwise and integer stuff with it. It does integrate well with C but that's about all I'd say about it.

    5. Re:No Coroutines by Anonymous Coward · · Score: 0

      What's wrong with creating 10,000 kernel threads? This isn't the 90s. We have scalable schedulers and wait queues, and each thread takes, what, a couple of dozen KB of memory. 10,000 kernel threads would use maybe quarter of a gig of memory. You can't buy that little memory today outside custom embedded and specialty devices.

    6. Re:No Coroutines by Anonymous Coward · · Score: 0

      Tcl has had genuine stackless-style coroutines for at least 7 years now - see http://wiki.tcl.tk/21446 .

    7. Re:No Coroutines by Eunuchswear · · Score: 1

      Why are you arguing with yourself, uid 666? Are you insane?

      --
      Watch this Heartland Institute video
    8. Re:No Coroutines by Anonymous Coward · · Score: 0

      Couldn't you theoretically just... define your own box types in rust instead? Return an Option> instead of Box or something. Probably wouldn't play well with other libraries at all and you would be reinventing a lot of standard library functionality, but I suppose that is what is needed when writing kernel code.

    9. Re:No Coroutines by lars_stefan_axelsson · · Score: 1

      These days I'm mostly a Lua and C guy who implements highly concurrent network services.

      Erlang?

      --
      Stefan Axelsson
    10. Re: No Coroutines by Anonymous Coward · · Score: 0

      Lua 5.3 added bitwise operations and integer support to the base language.

  20. Oh no by murdocj · · Score: 0

    Saw this and had some bad flashbacks to using Perl. What a monstrosity. Even a friend of mine who loved it admitted he could read his own code later on. If you have to write a one liner, fine, but I had to maintain actual code written in Perl. It makes my skin crawl just thinking about it.

    1. Re:Oh no by murdocj · · Score: 1

      duh... "admitted he could NOT read his own code later on"

    2. Re:Oh no by 4wdloop · · Score: 1

      Now this can be fixed because it has:

      >> ability to define new bits of syntax on your own to extend the language :-)

      --
      4wdloop
    3. Re:Oh no by Anonymous Coward · · Score: 0

      ..., but I had to maintain crappy code that I had quickly written in Perl.

      FTFY

    4. Re:Oh no by Anonymous Coward · · Score: 0

      ...because it's really not bad if you can write decent code.

    5. Re:Oh no by murdocj · · Score: 2

      This reminds me of the old joke about Forth: Real programmers can tell the difference between Forth and line noise.

    6. Re:Oh no by Greyfox · · Score: 3, Insightful

      Well you CAN write maintainable code in perl, you just have to use some discipline. Turn "use strict;" on everywhere, break your project up into packages across functional lines and have unit tests on everything. You know, all that stuff that no companies ever do. Given the choice between having to maintain a perl project and a ruby one, I'd take the perl project every time. At least you'll have some chance that the developers wrote some decent code, if only in self defense since they usually end up maintaining it themselves for a few years.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    7. Re:Oh no by Anonymous Coward · · Score: 0

      ...just like shooting yourself in the foot is not bad if you can do it gracefully. I mean it works, but there are much better alternatives out there. Don't be lazy and learn another language. You will exercise your mind and delay the onset of Alzheimer's in the process.

    8. Re:Oh no by KGIII · · Score: 3, Funny

      The best part is you can append gibberish to it and tell everyone that you've done lots of work and nobody will know the difference. Hell, it might actually do something useful!

      I am going to admit that I write (or have written) some Perl. I've even given it away. I'd also like to take this time to apologize for my Perl.

      I wrote a "safe list" script for a friend, it was really damned simple. People signed up and sent email messages to each other for the purposes of MLM - that's not why I wrote it, that's just what people did with it. It had a small but functional administration panel. It was about as secure as a screen door. Usernames and passwords were in a plain text file - you were SUPPOSED to move it and chmod it but I don't think anyone ever did even though it was mentioned a few times in the README.TXT.

      Anyhow, he wanted to sell the script. I said that was cool. I was more interested in the code so I made a few versions. It was usually purchased a few times and then hit Usenet in .zip form. They could have at least taken my email out of the damned thing if they were going to steal it. I've long since dropped that email. The last version (released in something like 2002) was free for the taking and my friend charged to install and customize it as he'd learned a little by then.

      So here's the easiest to install script and the least secure thing on the internet - plain text files, indeed, and I *still* see it installed from time to time. I can only imagine that the email address still gets emails from people asking what chmod means or how to upload the file or how they put it in their C drive and nobody seems to be able to access it from the internet.

      Yup... My Perl... Breaking machines, frustrating users, and being insecure for 25 years and running.

      A little part of me is kind of proud of that but my formal statement is, indeed, an apology.

      --
      "So long and thanks for all the fish."
    9. Re:Oh no by jd2112 · · Score: 1

      Comment, comment, comment. And don't get too creative with your regular expressions.
      And don't try to make your script into one line unless it is in fact trivial. Just because you can do something doesn't mean you should.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    10. Re:Oh no by Anonymous Coward · · Score: 0

      Also, real programmers can tell the difference between APL and alien communication.

    11. Re:Oh no by Anonymous Coward · · Score: 0

      Without knowing what the task is, you know that there must be better alternatives...no, the alternatives are not "better". If you don't know or don't like Perl, fine, but don't force Python or Java or Groovy or the Horror that is PHP or some other flavor of the week down my throat claiming that its "better".

    12. Re:Oh no by Anonymous Coward · · Score: 0

      There isn't much difference between a password stored plaintext in a file and a password that's not plaintext but easily recoverable stored in a db somewhere these days. You're going to save the script kiddies what, four hours, before they release their trove of garbage on the nets? The passwords are either sufficiently hashed or they're not. For stuff that was written 25 years ago, don't beat yourself up over that.

      For most of the web-facing code* that I've received from clients and had to fix for the last ten years, that kind of thing is actually standard, and this even includes some .NET applications which the developers for some crazy reason decided to forego MS's built-in user management constructs. Top of my list now, I receive code, I immediately review how the sensitive data associated with it is stored/retrieved/used, and that's the first on the list of changes. If I have to touch it and have my name on it going forward, I sure don't want to share responsibility for shit security.

      *It's amazing how many people think it's cool to write their own CMS. Amazing.

  21. Re:LOL, Perl? Seriously? by phantomfive · · Score: 4, Insightful

    I got tired of writing programs that looked like line noise.

    Maybe you should have written better code.

    --
    "First they came for the slanderers and i said nothing."
  22. Re:It's about time - Write Only Language by Anonymous Coward · · Score: 0

    It took him that long because he would write something and then spend the next few months trying to read it.

  23. Re:Perl? LOL. by Anonymous Coward · · Score: 1

    So PHP, Java servlets, ASP took Perl golden child status, as they are better designed to interact with the database.

    Really? IMHO, nothing beats DBI.

    ..., as well the ability to embed your code with your HTML simplifying the process.

    Ugh, this is why I don't like PHP or ASP. MVC all the way...which Perl has many frameworks for...

  24. Re:Perl? LOL. by Jack9 · · Score: 2

    > So PHP, Java servlets, ASP took Perl golden child status, as they are better designed to interact with the database,

    I think it has to do with readability and cost to maintain, not specific API design choices.

    --

    Often wrong but never in doubt.
    I am Jack9.
    Everyone knows me.
  25. "First Development Release" ? by murr · · Score: 3, Interesting

    If that was the first development release, what on earth was the 2010 release of Rakudo Star?

    The problem with Perl 6 was never a lack of development releases, it's 15 years of NOTHING BUT development releases.

  26. Let it die! by Anonymous Coward · · Score: 0, Funny

    What the fuck is Perl and what asshole uses it? Is it anything like Fortran, Pascal, or Ada? Let it fucking die with dignity already.

  27. Re:Perl? LOL. by Anonymous Coward · · Score: 0

    ASP.NET MVC is going on 8 years old.

  28. Re:LOL, Perl? Seriously? by Anonymous Coward · · Score: 0

    Better Perl code is not much more than line noise. You failed hard there.

  29. Perl by randalware · · Score: 5, Insightful

    I used perl a lot over the years.

    comparing it to a compiled language (C, Ada, Fortran, etc) or a web centric (java, java script, php, etc) language is not a good comparison.

    when I need something done (and needed more than the shell) and I had to maintain it.
    I wrote it in perl.

    all sorts of sysadmin widgets.
    many are still being used today (15+ years later)
    I wrote clean decent code with comments & modules.
    finding the cpu & disk hogs, by the day, week & month.
    who was running what when the system crashed.
    cgi code for low volume web server tasks
    updating DNS
    queueing outgoing faxes & saving history
    rotating log files and saving a limited number of copies.

    how much code have you written ? and had it stay running for decades ?
    the people that took over my positions when I changed jobs never had a problem updating the code or using it.

    --
    This is my opinion based on what little I know and understand of the rumors and lies Thanks, Randal
    1. Re:Perl by Shompol · · Score: 2

      Perl is awesome for system scripting. It's a UNIX shell replacement on steroids. Nevertheless it is no longer a good choice to use for serious projects spanning multiple modules, accessing database, etc (see my post below)

    2. Re:Perl by meta-monkey · · Score: 1

      If I find myself doing anything script-wise that involves manipulating data sets I'm in R. I love R.

      --
      We don't have a state-run media we have a media-run state.
  30. Re: Perl? LOL. by Anonymous Coward · · Score: 0

    I agree. Ive written data intensive processing including data conversions.. and the only thing that has beaten it is c or c++. Ive written them in php and it would take four hours to run on 30 gb... but perl could do the same job in 1 hour

  31. Re: LOL, Perl? Seriously? by Anonymous Coward · · Score: 0

    Next you're going to complain about how bad pencils are because you have bad handwriting.

  32. mock horizon by epine · · Score: 1

    Once a subject goes over the mock horizon, it gets pretty hard to distinguish entire discussion threads from line noise.

  33. Why stay away from Perl by Shompol · · Score: 1, Insightful

    I wrote a couple of large projects in Perl last year, before switching to Python3 and never looking back. There is a plethora of reasons why Perl is ripe for abandonment:
    - Hard to read code with multiple '$'s and '@'s on every line
    - In-place string modification is asking for bugs
    - Clumsy OOP
    - Poor selection of publicly available libraries; some have critical bugs that have not been fixed for years
    And all this before having to maintain code written by someone else, in a language better suited for one-liner programs.

    1. Re:Why stay away from Perl by truckaxle · · Score: 5, Insightful

      - Hard to read code with multiple '$'s and '@'s on every line

      I prefer to have variables differentiated (scalars, arrays and hashes) and clearly identified from other syntax or text. It makes code more readable IMHO.

      - In-place string modification is asking for bugs

      You mean string interpolation? This in fact is one of Perl strengths

      $str = "There are $num apples".

      is clearer and less busy, easier to remember than

      str = "I have {a} apples".format(a=num)

      - Clumsy OOP

      Specifics? There are some valid criticism of Perl's 5 OOP but the success of CPAN and a long list of highly successful reusable OO modules highlights its practical side.

      - Poor selection of publicly available libraries; some have critical bugs that have not been fixed for years

      Now you are well into troll territory or you really haven't used Perl much. DBI, CGI, LWP, IO::Socket, HTML::Parser, GetOpt::Long, Devel::NYTProf (not really a module but a totally awesome profiler) the list goes on.

    2. Re:Why stay away from Perl by Lisandro · · Score: 1

      To be fair, Perl 5's OOO implementation does feels like it was tacked on at the very last minute. It doesn't even qualify as OOO by some definitions (lack of encapsulation, for example).

      Having said that, OOO in Perl is VERY clever in the sense that it extends the language in a big way with very minor changes. bless and @ISA might look unintuitive on a first glance but are very simple at their core and integrate with existing language seamlessly.

    3. Re:Why stay away from Perl by Anonymous Coward · · Score: 0

      Clever, but not necessarily pretty. Thankfully we have Moose so criticisms of Perl's built-in OO functionality aren't that valid, really.

    4. Re:Why stay away from Perl by mr_mischief · · Score: 1

      This is why Perl6 is not Perl5.

    5. Re:Why stay away from Perl by phantomfive · · Score: 1

      - In-place string modification is asking for bugs

      Have you ever seen a program where that caused a bug? Serious question, I never have.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Why stay away from Perl by Anonymous Coward · · Score: 0

      - Clumsy OOP

      I'll take this one...Larry says: "I don't really know much about Python. I only stole its object system for Perl 5. I have since repented."

    7. Re:Why stay away from Perl by jjn1056 · · Score: 1

      I don't think this is insightful, its just a repeat of the same criticisms I've heard for 15+ years. Sorry you had to work on a crappy project, but Perl can be written in a modern manner that addresses the issues you've brought up. That being said I am glad you are happy with Python. Can't you just let me be happy with Perl?

      --
      Peace, or Not?
    8. Re:Why stay away from Perl by plazman30 · · Score: 1

      The $ and @ are what I like best about perl. You can spot a variable or array immediately.

    9. Re:Why stay away from Perl by cavebison · · Score: 1

      > I prefer to have variables differentiated (scalars, arrays and hashes) and clearly identified from other syntax or text. It makes code more readable IMHO.

      Not sure if that argument for perl is valid anymore, in the current age of IDEs and syntax highlighting text editors like Sublime etc. All the visual differentiation is done for you.

    10. Re:Why stay away from Perl by Shompol · · Score: 1

      - Hard to read code with multiple '$'s and '@'s on every line

      I prefer to have variables differentiated (scalars, arrays and hashes) and clearly identified from other syntax or text. It makes code more readable IMHO.

      I am sorry, how is $$this->{that} for readability? If you still have doubts please show this to a non-zealot for comment.

      - In-place string modification is asking for bugs

      You mean string interpolation? This in fact is one of Perl strengths

      $str = "There are $num apples".

      is clearer and less busy, easier to remember than

      str = "I have {a} apples".format(a=num)

      No I do not mean interpolation, but all the regex transformations modify string in place, sometimes inadvertently destroying needed stuff. Python takes the opposite approach -- to NEVER modify string in place. Compare
      $text =~ s/^ *//;
      $text =~ s/ *$//;

      to
      text = text.strip()
      Perl modified the string in-place in each line, while in Python I made an explicit assignment (normally not needed)
      Going back to your example, it's s = "I have {} apples".format(num), and you omitted a semicolon in Perl statement ;)

      - Poor selection of publicly available libraries; some have critical bugs that have not been fixed for years

      Now you are well into troll territory or you really haven't used Perl much. DBI, CGI, LWP, IO::Socket, HTML::Parser, GetOpt::Long, Devel::NYTProf (not really a module but a totally awesome profiler) the list goes on.

      Pretty sure I used most of these. These (and the rest of them) is a pittance compared to libraries available for Python. But the quality of libraries also leaves much to desire, for example this: The Pitfall, in none other than the DBI module having crippled parametrized ODBC interface. There are other examples. Let's just say I was pleased to discover after transition that most of the work has been done for me, all that is left is to connect the libraries in the desired manner.

    11. Re:Why stay away from Perl by Shompol · · Score: 1

      In a large project of mine, several times. I probably did not develop a habit to look out for these, but the main issue that there is no way to meaningfully transform strings without in-place modification in Perl. For example chop, s///, etc

    12. Re:Why stay away from Perl by Shompol · · Score: 1

      Except it becomes $ during access, And we always pass array by reference. So it boils down to just $. A sea of $.

    13. Re:Why stay away from Perl by Anonymous Coward · · Score: 0

      I am sorry, how is $$this->{that} for readability? If you still have doubts please show this to a non-zealot for comment.

      I don't think I've ever needed a reference to a reference to a hash. More common constructs are more readable.

      - In-place string modification is asking for bugs

      Perl now has a regex modifier ('r') to return the modified string instead of modifying in place. Regardless, there was always:
      ( my $new_string = $old_string ) =~ s/this/that/;

      Pretty sure I used most of these. These (and the rest of them) is a pittance compared to libraries available for Python. But the quality of libraries also leaves much to desire, for example this: The Pitfall, in none other than the DBI module having crippled parametrized ODBC interface. There are other examples. Let's just say I was pleased to discover after transition that most of the work has been done for me, all that is left is to connect the libraries in the desired manner.

      I've been equally less that impressed by some of Python's libraries, e.g., the netrc (and ftp) library. netrc is broken, and unlike Perl, it is not transparently integrated into the ftp library.

    14. Re:Why stay away from Perl by Anonymous Coward · · Score: 0

      s/less that/less than/;

    15. Re:Why stay away from Perl by Anonymous Coward · · Score: 0

      Fear of '$' usually indicates lack of shell programming background and experience. Perl started as the 'shell programming on steroids' replacement. In this context, '$' comes naturally. And it means that you don't have to worry whether or not your variable names are key words. And there's also the string interpolation, which IMHO (but not necessarily yours), beats Python's sprintf-like '%' interpolation thingy.

  34. Re:Perl? LOL. by hummassa · · Score: 1

    DBI is stable, it just works. I have lots of headache in Every Single One of the database middleware. Except DBI.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  35. Re:It's about time - Write Only Language by Anonymous Coward · · Score: 0

    As a C/C++ programmer the Perl scripts I wrote usually ended up having at least as much of comments as code lines, just to make sure I could understand them next day. Even if one did not use the magic default variables or excessive regexp's, the code would always become unreadable before it was ready. And then there were still people who tried to make themselves gurus by writing the shortest and most cryptic Perl code possible.

  36. Custom syntax by countach · · Score: 1

    The ability to add custom syntax.... Because regular perl syntax isn't confusing enough!!

  37. Re:Perl? LOL. by Anonymous Coward · · Score: 0

    And it is still garbage. But now it's old garbage, which You have been eating for the past eight years, so You are desensitized to its taste.

  38. Time to try Perl 6 on GNU/Hurd by cpghost · · Score: 1

    So, both Perl 6 and GNU/Hurd are finally production-ready? So let's start migrating Facebook and Google then...

    --
    cpghost at Cordula's Web.
  39. Finally! :D by Anonymous Coward · · Score: 1

    Back in 2005 I remember hearing about how the fancy new Perl 6 VM was going to be super awesome. So I waited and waited. And then I waited some more.
    Meanwhile, I'm 5 years into a personal project that's nowhere near ready to ship, so I think I finally understand what took him so long.

    Congratz, Larry. You da man.

    p.s. Obligatory: What year is it?

  40. meta-programming...lol by renzhi · · Score: 1

    Perl syntax, as is, is already pretty hard for everyone to digest (if you have never maintained any perl written by a bunch of self-declared genius, don't try to comment), wait till all the geniuses can extend that language. I'll need to keep a machine gun under my desk, in case I go ballistic.

  41. Re: Perl? LOL. by Lisandro · · Score: 2

    Same experience here. Say what you want about Perl 5 but it is still one of the fastest interpreted languages around.

    I do a lot of prototyping in Python. But if i want speed, i usually use Perl.

  42. Re:Perl? LOL. by Forever+Wondering · · Score: 3, Informative

    perl6 is a complete overhall of the language. It isn't merely perl5++. They are similar, but they aren't compatible, which is why the perl5 interpreter will be maintained in parallel [so stated]. It has a huge number of new features, including real classes [instead of implementing a class as a hash].

    The perl6 interpreter [written in perl6, BTW], will be able to run perl5 code (e.g. it hooks on .pm or .pm6, etc.) and run a mix of the two. It will also be able to run python code, ruby, javascript, etc. if one wants to add the front end. So, in some ways, it's like .NET. You can run a program comprised of perl6, perl5, python, C, etc. all coexisting in one program. Also, on the back end, perl6 will generate true byte code, and can generate javascript, python, or other backend languages.

    You can also define your own operators (e.g. "nand" for not (x and y), or do full metaprogramming.

    perl6 classes can define "how they're implemented" (e.g. implement me as a C struct, python dictionary, javascript hash, or java class, etc.). In other words, if you request a C struct binding, the data will be stored that way. So, you fill in your object, then you can pass it off to a C function without any glue code. In and out, in and out, back and forth, at extreme speed.

    perl5 is not my main language (e.g. I make my living writing C code), but I've been coding perl5 for 20 years [and I maintain a codebase of 250,000 lines just for my personal scripts]. I've been following the progress for a few years now and I've been waiting for perl6 to give it a try.

    perl6 has ripped off concepts from just about every other language--that's a good thing. Traits, mixins, interfaces(?), multimethods, a full set functional programming operations [like Haskell, Scala, etc.], full set operators [just like python].

    What I've described is merely the tip of the iceberg, done from memory of what I was reading a year or two ago.

    BTW, in case you didn't already know, slashdot runs on perl5 ...

    --
    Like a good neighbor, fsck is there ...
  43. Re: LOL, Perl? Seriously? by Anonymous Coward · · Score: 0

    I have bad pencils because of bad handwriting :(

  44. Re:Perl? LOL. by bytesex · · Score: 5, Insightful

    The cool kids jumped on the python bandwagon saying perl was old, but in all this time they have yet failed to:
    - created a language that has libraries like perl has,
    - created a scripting language that can execute sql safely like perl can,
    - created a language that has regular expression support as part of the syntax (so you don't have to enter in yet another level of indirection and escape all the whatevers ' " \ / when you're trying to simply match some string easily),
    - created a scripting language that is also fast.

    Which are all the reasons I love and use perl.

    --
    Religion is what happens when nature strikes and groupthink goes wrong.
  45. Awesome! by MagickalMyst · · Score: 1

    Thanks Larry :)

    --
    Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
  46. Re:Perl? LOL. by Eunuchswear · · Score: 1

    BTW, in case you didn't already know, slashdot runs on perl5 ...

    Is that supposed to be a plus or a minus?

    --
    Watch this Heartland Institute video
  47. Re:It's about time 11 years after the book by Eunuchswear · · Score: 2

    Now I only have to wait for it to appear in Debian stable ...

    $ apt-cache show parrot
    Package: parrot
    Version: 6.6.0-1
    Installed-Size: 866
    Maintainer: Debian Parrot Maintainers <pkg-parrot-devel@lists.alioth.debian.org>
    Architecture: amd64
    Provides: parrot-data-dumper, parrot-test
    Depends: libc6 (>= 2.15), libgmp10, libicu52 (>= 52~m1-1~), libreadline6 (>= 6.0), parrot-minimal (= 6.6.0-1)
    Suggests: parrot-doc
    Description-en: virtual machine for dynamic languages
      Parrot is a bytecode-based virtual machine designed for dynamic languages.
      Parrot hosts a variety of language implementations, including Tcl, Javascript,
      Ruby, Lua, Scheme, PHP, Python, Perl 6, and a .NET bytecode translator.
    Description-md5: aef3452ab3d39ce636f6664dda5c87ef
    Homepage: http://parrot.org/
    Tag: devel::interpreter, devel::runtime, implemented-in::c,
      role::metapackage, role::program, uitoolkit::ncurses
    Section: interpreters
    Priority: optional
    Filename: pool/main/p/parrot/parrot_6.6.0-1_amd64.deb
    Size: 247490
    MD5sum: 063812ec8cb1320c906bd37d7c1679eb
    SHA1: 5b1a45d70ea5e7d2da7628b7655dea405e25b122
    SHA256: 52489e47ec1d964942fa17312307133271d0087016b1462d88b36cc3fcba1cd5

    --
    Watch this Heartland Institute video
  48. Re:Perl? LOL. by RabidReindeer · · Score: 1

    golden child language

    only viable scripting language choice

    FTFY

    I used ReXX, you insensitive clod!

  49. Re:Perl? LOL. by RabidReindeer · · Score: 1

    And it runs so well on all those Linux servers!

  50. Re:Perl? LOL. by Anonymous Coward · · Score: 0

    Don't put 'd' and 'ed' on the end of everything.

  51. Duke Nukem Forever by Anonymous Coward · · Score: 0

    Somebody here is connected enough to do this...I really hope they'll see this, and do so...

    Someone REALLY need to ask Larry Wall, to his face, how it feels to have been beaten to market by Duke Nukem Forever.

    1. Re:Duke Nukem Forever by MagickalMyst · · Score: 1

      I didn't realize it was a race.

      This guy obviously spends most his time crafting an incredibly useful computer language and gives it away to others for free.

      Who cares how long it took him to come out with a new release?

      The fact that he wrote his own computer language is a marvel and milestone in and of itself.

      --
      Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
  52. Re:Perl? LOL. by Anonymous Coward · · Score: 1

    I think you should be a bit more careful about saying that PHP is better designed to interact with databases. It took quite a long time for PHP to implement _any_ sort of SQL injection protection, and with as many completely different (and completely incompatible) different methods of interacting with the database it's had over the years (PDO, PearDB,et al), it's pretty difficult to argue that it's in any way superior to DBI.

  53. Re:Perl? LOL. by __aaclcg7560 · · Score: 1

    Python only viable scripting language choice

    FTFY

  54. "Unicode strings at levels other than code-points" by Ketorin · · Score: 1

    But still no "advanced macros, non-blocking IO or much of synopsis 9 and 11"...

  55. Perl6 has nothing to do with Perl5 by jjn1056 · · Score: 2

    "It might be a 30- or 40-year language. I think it's good enough."

    No, actually Perl6 is not 30+ years old. Its not a replacement for Perl5, no matter how much Mr. Wall would like it to be. There's a lot of working Perl5 programmers that wish the community calling itself Perl6 (which is totally distinct from the Perl5 community for all practical purposes, despite some attempts be leaders to force coordination on us) would acknowledge the fact that Perl6 is Perl Not at all, and call this language something different.

    I don't know if Mr Wall realizes how much harm he's done to working Perl5 programmers by continuing to insist on calling this thing he's worked on "Perl" at all.

    --
    Peace, or Not?
  56. Duke Nukem Forever by hoggoth · · Score: 1

    Is it true that Duke Nukem Forever was the first commercial software written entirely in Perl 6?

    --
    - For the complete works of Shakespeare: cat /dev/random (may take some time)
  57. Re:Perl? LOL. by Wee · · Score: 1

    Except that their regex engine isn't very fast. I prototyped a project that used a lot of regexes in both python and perl and the python implementation was between 4 and 7 time slower. I really wanted to use python, but it wasn't the right tool for the job.

    That's why anyone with a clue will see statements of "only viable" with comic disdain.

    Say what you will, but perl is very, very good at parsing text.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  58. Re:Perl? LOL. by fyngyrz · · Score: 1

    Like I said. Viable.

    I used REXX too, BTW. On the Amiga (which would be William S. Hawes's AREXX, of course.) The Amiga OS was the only OS where Rexx was properly integrated, IMO, along with a decent range of applications with ARexx ports you could use. It certainly isn't in Windows or Linux. Don't know about OS2, never dipped a toe in that.

    I built an ARexx interface into our Imagemaster application when ARexx first came out, and every Amiga application we did thereafter (my company was one of the most broadly known, and easily one of the most profitable doing software for the Amiga -- small team, great products, proper compensation, great tech support, and only one competitor who was always playing catch-up (ASDG Inc.)), you could do just about anything you could think of with it high-level IPC the way it should be done, and doesn't seem to have been done since then. A real shame. Oh, and as a current OS X user, Apple-script is a horrific, broken kluge by comparison. Again, a real shame.

    But viable beyond that... not really. Perl was what the powers that be always seemed to insist on, and Rexx simply didn't have the string handling chops that Perl did, so arguing always pretty much foundered on that point alone.

    Today, we have Python, and Perl is not a viable choice in comparison. The only reason to choose Perl now is if you can't, or refuse to, learn a better way. Although there certainly is a lot of that, lol.

    --
    I've fallen off your lawn, and I can't get up.
  59. Re:Perl? LOL. by fyngyrz · · Score: 1

    Say what you will, but perl is very, very good at parsing text.

    Yes, it is. Unfortunately, it isn't maintainable the way the vast majority of programmers use it, and to do that you have to give up quite a large set of its features -- the ones that read like Sanskrit or APL. For that reason, I won't allow it to be used for any of our projects. If speed is an issue, we can always drop to c, which can be *both* maintainable *and* faster than Perl or Python. Because our style requirements don't rule out any language features. Just poor style, such as K&R.

    For most anything else Python v2.latest is the obvious choice. Unless you need backwards compatibility (older OS envs), and then Python.notcurrent is the choice.

    --
    I've fallen off your lawn, and I can't get up.
  60. Remember FORTH? by martinfb · · Score: 1

    Back in the late 1970s - early 1980s, I was approached by an engineer at a local company to test FORTH. A really cool language that was based on building your own new command built from base syntax. Isn't the idea of functions the same basic thing?

    --


    Self-importance and self-indulgence is the root of ALL evil.
  61. Re:Perl? LOL. by Forever+Wondering · · Score: 1

    It's supposed to be ironic, considering how every N months, another "perl is dead" meme gets posted to slashdot [usually as the result of an article posted by a dice shill]. This was mentioned at a perl conference in a talk by a core developer titled [something like] "Is perl really dead?". He went on to say that there are actually more jobs in perl than a number of other languages. IIRC, MS uses perl as the master control for building either the kernel or office.

    In truth, I'm actually language agnostic. I've learned, used, [and forgotten] quite a few languages over the years. To me, a language is a tool in the toolbox, not a religious icon.

    I recently taught myself python, just to see if I was missing something.

    Starting out, I was against the indentation thing. That turned out to not be such a problem.

    But, what is a serious problem is the way globals are handled. In most languages, symbols are globals if you don't declare them local to a given function. In python, it's the reverse--you say "global sym" inside the function. It also has some goofy rules about whether a symbol is global or not. If a global is written to in function x, it can be implicitly referenced in function y [without a global declaration]. But, if y tries to write to it, then y needs a "global sym" too--or the interpreter will flag it. This led to a whole host of problems. And no way to solve this by declaring "global sym" at file scope like virtually every other language. This is a major defect.

    Also, python has no equivalent of "for (x = 0; x < 10; ++x)". You need to say "for x in range(10)". Fair enough. But, python, seems to have no equivalent to "for (x = 0; x < 10; ++x, ++y, z -= 6, cur = next)" or "for (x = ...; check_x(x); x = next_x(x))" without defining an iterator of some sort.

    Plus, if there's a syntax error [on say a 100 line file], it takes the python interpreter takes 2+ seconds to spit it out. In that time, my "check all perl scripts" script that invokes "perl -c" on all files has processed 100,000 lines of perl code.

    The stated mantras are:
    Python -- there's one right/best way to do things
    Perl -- there's many ways to do things

    Having been used to perl's flexibility, I was surprised how difficult python was if I didn't write "idiomatic" python. In fact, despite having 200,000 lines of perl, I don't write "idiomatic" perl code. I've never used importer, carp, etc. I've always written my own equivalents. But, instead of my perl code looking like APL, it would be fairly easy to understand by a C programmer [which is one of my design goals].

    --
    Like a good neighbor, fsck is there ...
  62. Re:Perl? LOL. by Wee · · Score: 1

    I'm not sure I'd reject a language out of hand just because people can write terrible code with it. I'd rather reject those programmers.

    I do agree with you on K & R style, though. Vertical space is valuable real estate.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  63. Re:Perl? LOL. by Anonymous Coward · · Score: 0

    REXX on OS/2 was pretty good. BTW, there have been several variants of REXX made by the inventor, like NetRexx.

  64. Re:Perl? LOL. by Anonymous Coward · · Score: 0

    >- created a language that has libraries like perl has,

    I'm using Python exactly because there is a library for everything i need. Scientific Python, numpy, pygtk etc.

    >- created a scripting language that can execute sql safely like perl can,

    Python DB-API has prepared statements: ...execute("SELECT * FROM x WHERE a=?", 2)

    >- created a language that has regular expression support as part of the syntax (so you don't have to enter in yet another level of indirection and escape all the whatevers ' " \ / when you're trying to simply match some string easily),

    r"this is a regexp" where nothing needs to be escaped from Python. PLEASE no fucking special syntax for anything else that can go into a library.

    >- created a scripting language that is also fast.

    Pypy, Shedskin

  65. Grammar nazi here by Anonymous Coward · · Score: 0

    Just a nitpick, but "failed to created" is not English. The correct form is either "failed to create" or "failed to have created". I have noticed a disturbing trend where native English speakers are now confusing present tense, past tense, and infinitives (yes, native speakers, and generally Americans). My only guess is that as non-native speakers climb the social totem pole (to stardom, for example), native speakers have started parroting their mistakes. And nothing trumps stardom, not even grammatical errors.

  66. Re:Perl? LOL. by Anonymous Coward · · Score: 0

    There's way more libraries in Python than perl now mang.

  67. Perl5 in Perl6 by DrYak · · Score: 1

    One of the goal (longer term, so don't expect it fully working with this preview release. Maybe neither with the final at christmas) is to allow other language being accessible to Perl6.

    To quote one of the links:

    But Larry was especially proud of Perl's ability to drop down into other languages. ("This is why we say all languages are really just dialects of Perl 6...") Python and Lua are even included in the Inline library. And Larry pointed out a new library that adds Ruby-esque rules, so exclamation points and question marks can be used at the end of identifiers. ("If that's what it takes to make Ruby programmers happy...")

    Example:
    - Inline-Perl5/ - Wraps a Perl5 interpreter as a module in Perl6 with data passing. Means perl5 and perl6 mixed *TODAY*. Works with compatibility down to all perl5's bugs/weirdness. Might still suffer limitation when passing some weird constructs around, and some speed limitation.
    - v5 - abuse Perl6's ultra flexible grammar and meta programming to teach perl6 (...'s interpreters - like Raduko) to understand perl5 (...'s syntax). Should allow perfect passing of weird constructs, without any speed limitation. But is a new implementation of perl5 interpreter so might break some legacy code which unknowingly relied on bugs of the actual perl5 interpreter.

    These 2 modules exist already and are used in the wild.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  68. perl5 in perl6 by DrYak · · Score: 1

    perl6 is a complete overhall of the language. It isn't merely perl5++. They are similar, but they aren't compatible, which is why the perl5 interpreter will be maintained in parallel [so stated]. The perl6 interpreter [written in perl6, BTW], will be able to run perl5 code (e.g. it hooks on .pm or .pm6, etc.) and run a mix of the two. It will also be able to run python code, ruby, javascript, etc. if one wants to add the front end. So, in some ways, it's like .NET. You can run a program comprised of perl6, perl5, python, C, etc. all coexisting in one program.

    Speaking of which:

    - Inline Perl5 : hooks into the (still maintained) perl5 interpreter to run Perl5 code down to the latest bugs/weirdness.
    - v5: (ab)uses the ultra flexible grammar and meta programming of Perl6 ('s interpreter - like Raduko) so that it can interpret Perl5 ('s language syntax).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  69. typo fix by Anonymous Coward · · Score: 0

    Perl6 ('s interpreter - like Raduko)

    That should be "Rakudo" (jp: way of the camel)
    I shouldn't be posting when I'm that much tired.

  70. Typo fix by Anonymous Coward · · Score: 0

    perl6 (...'s interpreters - like Raduko)

    That should be "Rakudo" (jp: way of the camel)
    I shouldn't be posting when I'm that much tired.