Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Perl Programming

Run Perl 6 Today: Pugs 6.0.11 released 97

autrijus writes "I am delighted to announce that Pugs 6.0.11 is released, with experimental pugscc support to turn Perl 6 programs into stand-alone executables, as well as many new features. Pugs is an implementation of Perl 6, written in Haskell. For more information, see Pugs Apocryphon 1 and this perl.com interview."
This discussion has been archived. No new comments can be posted.

Run Perl 6 Today: Pugs 6.0.11 released

Comments Filter:
  • Re:Excellent (Score:5, Interesting)

    by chromatic ( 9471 ) on Wednesday March 16, 2005 @06:51PM (#11958993) Homepage

    It may seem odd, but Pugs has actually inspired several developers to learn Haskell.

  • perl6 is a mistake (Score:4, Interesting)

    by keesh ( 202812 ) on Wednesday March 16, 2005 @07:12PM (#11959288) Homepage
    I've been using perl pretty much constantly since the Pink Camel, and believe me, Perl 5 is an extremely good language for quick scripting things. That's what it was designed for. Sure, you can do big projects in it, but it's not exactly ideal. Recently I've started using Ruby [ruby-lang.org] as well, and I intend to move my department over to it instead of wasting time with Perl 6.

    One of the goals of Perl 6 is to make non-trivial projects possible. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster [mozilla.org]. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same. Kludge upon kludge upon kludge; I'd much rather have a nice, clean, pure language [rubycentral.com] (and not one with loads of irritating whitespace [python.org] thank you very much).

    The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at the length of the keys array of a hash inside a hash, for example), and the changes proposed for 6 are just making this worse -- it seems that Larry, in his infinite wisdom, wants to prefix every data type with a different hard-to-type character. Perl was only designed for the three data types, and adding more is a mess.

    Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat (in the same way that, say, Pascal [lysator.liu.se] does), but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. It's like Ada all over again! The whole thing is an exercise in pseudo-computer science masturbation with little real purpose except to please the managers who dislike the one thing that makes Perl special.

    On a similar note is regexes. I'm an avid fan of regular expressions simply because a nondeterministic finite automata is far more flexible than linear code. However, Larry must have been smoking that cheap $2 crack when he wrote this [perl.com]. Does he want Perl 6 to be flex [gnu.org] or something?

    I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster. I'd prefer to use a language [ruby-lang.org] which has always been pure synthesis of science and engineering, not some half-baked imposter [beonex.com].

    Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options, which provide all of Perl's power and none of the mess. Sorry, but *BSD^H^H^H^H Perl is dying.

  • by Anonymous Coward on Wednesday March 16, 2005 @07:13PM (#11959301)
    I thought Perl6 had a language-independant runtime called Parrot. What happened to that?

    They're still working on it, and it looks like it's going to be pretty impressive when it's done. But they're writing it in C, which is great for fast code but very bad for rapid development. This is written in Haskell, and therefore has the opposite characteristics: the interpreter is apparently about 100 times slower than Perl5, but on the other hand they developed a working interpreter from scratch in one week.

    This isn't meant to replace Parrot, it's meant to provide an alternative implementation that can be used to work on things like Perl6 libraries so they'll be ready when the "real thing" finally appears.
  • by Anonymous Coward on Wednesday March 16, 2005 @07:34PM (#11959565)
    So in other words, you never liked Perl all that much in the first place. I honestly don't see what's wrong with variables that include $, %, and @. It's just a way of concisely throwing in some syntactic markers to allow you to have interesting and convenient syntax in other areas. Certainly other languages have similar things; for instance, C has an array dereference operator ("[" and "]"), and nobody complains about it, even though it really is basically the same concept. And then there's the "." operator for selection of members of structs. Again, basically the exact same type of thing, and nobody has a problem with it because they're very familiar with it already.

    But I guess what it boils down to is whether it is, in fact, better to have a "nice, clean, pure language". I would argue that it isn't. I don't have a nice, clean pure car. My car's engine is water cooled. That makes it more complicated and less reliable, but it also makes it more efficient. Also, the back brakes are of a different design than the front brakes. Again, it would be purer and cleaner and simpler to make them identical, since that would make it easier to understand them and work on them, but it's more efficient the way it is. And, while I'm at it, my body's metabolism involves the burning of oxygen, when in reality an anaerobic metabolism is much cleaner and simpler (and safer -- do you know how corrosive oxygen is? there's a reason behind health fanatics' taking massive doses of antioxidants). But again, the Kreb's cycle, despite being a very complicated process, is actually waaaay more efficient. So I think sometimes a more complex, less pure, less clean design can be a better design.

    Having said all that, Perl is easy and fun to learn if you're into the weird and wonderful ideas behind it. But, like progressive rock music, if you're not into it, it's just irritating and seems virtually impossible to learn. So perl is great on programmer efficiency because it can allow a programmer to get massive amounts of stuff done easily. But on the other hand, it's also quite bad for programmer efficiency because some people just don't get into the ideas behind it and thus find it excruciatingly hard to learn and use.

    By the way, one of the really dandy things, IMHO, about Perl 6 is this idea that every damned thing is a closure. Loop bodies are closures, even, if I remember correctly. This is really freaky and wonderful, but maybe just because once you learn about closures, you get addicted to them. Also, by the way, my own personal impression of Perl 6 is that it is actually making the language simpler and cleaner. At least, the everything-we-can-make-a-closure-is-a-closure idea gives me a feeling that some underlying things are being unified in a nice way. I started to wonder, actually, why every language doesn't do it that way, and I haven't come up with an answer yet, other than the idea that maybe it can't be compiled into efficient machine code.
  • by j0nkatz ( 315168 ) * <anon AT memphisgeek DOT com> on Wednesday March 16, 2005 @08:11PM (#11959978) Homepage
    Correct and now Winamp is no longer around. It's development is dead. You just proved his point.
  • by Anonymous Coward on Thursday March 17, 2005 @03:48PM (#11968346)
    Autrijus has accomplished more for Perl6 in one month of development than the two dozen people working on Parrot did in the past 3 years. It certainly proves that one individual can be 100 times as productive as their peers in the programming field. The big difference appears to be that Autrijus actually has a plan and a logical design. I do find it puzzling that the initial Perl6 interpreter is not being written in Perl5, though. Obviously speed is not a concern at this stage - only correctness. One hundred times as many developers know Perl5 than do Haskell. But, who can complain - Autrijus gets results. Eventually he plans to recode the P6 interpreter in P6 anyway. At his current pace perhaps it will only be in a month or two.
  • by Anonymous Coward on Thursday March 17, 2005 @03:54PM (#11968431)
    This link [perl.org] explains the issues facing Parrot.
  • by autrijus ( 48596 ) on Friday March 18, 2005 @08:27AM (#11974219) Homepage
    Yes it is a major challange. :)

    There are several projects underway to migrate existing Perl 5 code to Perl 6 and Parrot, so no-one will be forced to give up Perl 5 and CPAN when it arrives. Indeed, were it not for CPAN, I think many people (me included) would stay around to work with Perl 6.

    As to fresh mindshare, Perl 6's optional strong typing and cleaner OO semantics does draw new people to join. It is also worth noting that Perl 6 has fewer precedence levels then Perl 5, and the operators are more streamlined as well.

Our OS who art in CPU, UNIX be thy name. Thy programs run, thy syscalls done, In kernel as it is in user!

Working...