Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Larry Wall on Perl 6 265

Nate writes "Linux Format magazine has an interview with Larry Wall, the eccentric linguist and coder behind Perl. Larry discusses some of the new Perl 6 features ready to rock the world, and if you're not planning to move from Perl 5.8, he has a few musings on that too."
This discussion has been archived. No new comments can be posted.

Larry Wall on Perl 6

Comments Filter:
  • by Anonymous Coward on Tuesday December 20, 2005 @10:04AM (#14298133)
    I'm not going to debate the fact that Perl is an immensely powerful language. It can do an amazing amount of stuff...but I'm worried about giving the programmer control over the actual grammar of the language itself. It seems that that will cause some of the same issues that C macros can cause (which is why Java doesn't include them), in terms of making the code just next to impossible to follow. Perl is hard enough to maintain with how obfuscated it can get. I'm not sure this is going to help.
  • by porkThreeWays ( 895269 ) on Tuesday December 20, 2005 @10:09AM (#14298162)
    For as long as I've been following Perl 6, I've felt Parrot is more interesting than Perl 6 itself. Parrot is in many ways like .net (obviously there are many internal differences, but the idea is the same). Compile to a common bytecode that a virtual machine understands. This is interesting because it already supports (albeit incompletely) more languages than .Net and is a whole hell of a lot newer. I think Parrot is going to get the attention of a great chunk of languages haven't really considered using a VM before. We could see the age of 3 common bytecodes in practice. Java VM (whatever it's called), .Net, and Parrot. Maybe one day instead of seeing "Ruby 1.8 or greater required" we'll see "Parrot X.X or greater required". It'd be nice if we actually saw the day of the Parrot VM browser plugin or (pipedream) Windows coming with the parrot VM.
  • by paradizelost ( 689394 ) on Tuesday December 20, 2005 @10:24AM (#14298233) Homepage
    I do think you should take a look at the web pages your looking at. as far as i can tell, the .pl at the end of the page name means it's written in perl. So, is slashdot written in perl? i think so.
  • by code65536 ( 302481 ) on Tuesday December 20, 2005 @10:34AM (#14298314) Homepage Journal
    Me too. :) And expanding that wonderful philosophy to the language itself, that is exactly why I don't like Python--I like the freedom of Perl (even if it results in syntactical messiness... but that freedom of expression leads to some of the most elegant code in the world, in a non-syntactical sense). I don't want some paternalistic syntax dictating how I should best express using the langauge.
  • Re:Wow (Score:5, Interesting)

    by j-pimp ( 177072 ) <zippy1981 AT gmail DOT com> on Tuesday December 20, 2005 @11:01AM (#14298480) Homepage Journal
    And the George W. Bush award for using 9/11 as an explanation for something completely unrelated to 9/11 goes to .... Larry Wall.

    I don't know about nationally, but there was a major recession in the NY area after 9/11 for a good year and a half. I was stuck workign at burger king at one point. Granted, I choose the worse time to drop out of college, it was even hard for a high school graduate with some college and a solid skillset at the time for entry level IT work to get a minimum wage service job.

    The company I work for now is an ISP/developmenthouse. They are based out in eastern longisland 36.9 miles from my house in Queens according to google. There business core was out east. They had inroads and a solid plan to break into Manhattan, but they were, and still are a longisland company. Before september 11th they were looking at adding phone lines. Afterwards, the phones stopped ringing. There development work almost stopped. They had to lay off several people.

    Anyway, claiming September 11th had a negative aspect on the business of computer book publishing is far from unbased.

  • Better critics (Score:3, Interesting)

    by VincenzoRomano ( 881055 ) on Tuesday December 20, 2005 @11:27AM (#14298668) Homepage Journal
    It would be much better for the communities to have Larry talk about PHP [wikipedia.org] and maybe Rasmus [wikipedia.org] provide his thoughts about Perl [wikipedia.org].
    At least we'd get an interesting cross-flame session!
  • by diggem ( 74763 ) on Tuesday December 20, 2005 @11:29AM (#14298690) Homepage
    Yeah, I read that same line and thought the same thing. Great! Now you can make Perl look like Java, or C# or ... assembler! I'd say you could make it look Klingon but it already does if you include much regex.

    I love perl and I love perl modules, but debugging code written using perl modules makes me want to tear out my already thinning hair. I was going to write a "quick and dirty" script using the libwwwperl module but ended up going with some cURL calls in a shell instead. It was easier to see what the problems were and cURL did all the "heavy lifting" for me.
  • by FellowConspirator ( 882908 ) on Tuesday December 20, 2005 @11:47AM (#14298834)
    OK, I'm a computational biologist by profession, so it goes without saying that I use gobs of Perl. I also use gobs of PHP, Java, R, Python, and to a lesser extent C++ and C.

    I end up using all of those languages of course, because all of them have their strengths and weaknesses. Perl is not the best performer, but much of my work is working ad hoc problems and Perl is very simple and concise for many common problems. It also is a great alternative to shell programming. I love it for those things.

    However, I hate writing web-based stuff in Perl because the ease of use and clarity (basically speed of me getting somethign done tempered by the chance that I can figure out what I did later when I need to) are not as high as, say, when using PHP. It pains me to see awfully written Perl code when thigns could more clearly and easily be solved using something else -- in which case I hate it. I frequently get legacy stuff that is over engineered or fanatastically complicated because someone didn't recognize or didn't know how to use something that would have been simpler; doubly an issue since this also tends to produce more opportunities for bugs.

    I could go on, but I've been doing this for some time now and have a very good feel for which language is the best tool for a specific aspect of my job and I use that (because the language used to implement a solution is NEVER a concern for those whom I'm providing solutions to).

    I'm really interested in Perl6 -- the new VM (looks like .Net has some serious competition) and the greatly improved performance, but more importantly the language features allow grammars and rules for natural language processing in a very clean and efficient style. I've a number of projects analyzing literature where this would be a boon and there's nothing comparable in other general purpose languages...
  • by hackstraw ( 262471 ) * on Tuesday December 20, 2005 @12:04PM (#14298966)
    We're not interested in telling people what they can't do.

    And on the same vein, "There is more than one way to do it".

    I love Perl.

    Is it pretty? Not really.

    Does it do OO? Pretty much, but its not pretty.

    Can it go from a one liner to a pretty large app? Yup.

    Is it portable and extensible. Hell yeah.

    Is it fast? Fast enough. -- I remember on older machines you would run a perl script, and you could "feel" it compile itself by a slight lag before input or output, but I only notice a lag on machines that have not used that perl app yet (not cached) and uses tons of modules or whatever that need to be found on the disk. Once the program has been run, it starts as fast as any other. The runtime speed is anywhere between much slower to 4x slower than C or C++, but being that it usually takes 10x time to write C or C++ that Perl can do better, I'll go by the maxim of optimize later if needed.

    I've not looked into Perl 6. 5 is fine with me. 6 embeds 5, so there is supposed to be no or very little backwards compatibility issues. 4 was not that good compared to 5, and the compatibility was not as good. Yuck, those people who still do &subroutine(); Thankfully, I don't see module'subroutine() syntax any more if it is still even supported (I think I remember the syntax correctly).

    Perl is very powerful. Not the right tool for every job, but many of them. For most everything you want to do, there is a module that can be easily and portably installed (or 2 or 3) that can reduce the "reinventing the wheel" issue. The CPAN module and module dependancy can not be as fun as apt-get install CGI.pm, but perl is excellent and I hope it does not become an "old school" language. Its simply too easy to start to use, and go from there.

  • by CoughDropAddict ( 40792 ) on Tuesday December 20, 2005 @12:08PM (#14299020) Homepage
    Here's something I've been wondering about Parrot for a while. How will extensions work? How can I extend Parrot-based languages with C, either to optimize an algorithm, or to wrap a C library?

    In my opinion, Parrot needs to get this right to be useful.
  • by julesh ( 229690 ) on Tuesday December 20, 2005 @12:15PM (#14299097)
    I made it to page 149 where it says "Python uses the indentation of statements under a header to group the statements in a nested block." I stopped reading and tossed the book on my bookshelf on a shelf full of unused & unloved technical manuals.

    Hold on... it gets to page 149 before pointing out the most important thing to be aware of in the language's syntax? That's a terrible book. Get another one.

    Seriously, though, I was put off Python for a long time for the same reason. I've used whitespace-significant languages before (COBOL, and a functional language called Miranda) and had no end of trouble with indentation issues. But when I tried Python, it just worked, flawlessly. I've never had an issue because of indentation. The language works, it's easy to write, and programs are easier to read due to the lack of excess symbols. The syntax is very clean and readable.
  • by asdfghjklqwertyuiop ( 649296 ) on Tuesday December 20, 2005 @03:18PM (#14301241)

    Excuse me... have I stumbled into the wrong conference room^H^H^H^H^H...programming language? You are talking about Python, right - the language that *begins* by forcing a style of indentation....? No?


    I knew somebody would start bitching about the indentation. The indentation is just Python's syntax for denoting block structure. It doesn't remove any power from the programmer, it is just a different syntax. Does Perl (5, anyway) grant the freedom to denote blocks with indents instead of curly braces? No? So does that aspect make it less expressive than python? No, it is just a different syntax.



    The freedom of the language has nothing to do with its syntactic
    cleanliness.

    That's off. On the contrary, having a flexible grammar allows you to do, well, flexible things. I for instance was able to throw together my own data modelling syntax using Perl's function prototypes. When the language is willing to *bend over backwards* to accomodate you, no matter how unreasonably outrageous of a demand you make, you can twist it into he wildest contortions and pure art emerges.


    Perhaps I worded that wrong. What I meant and should have said was: A clean, simple syntax (or as you deemed it, paternalistic") does not imply lack of power or expressiveness. See Lisp for example, which has less syntax than perl or python.

    But anyway, getting down to specifics, I'm not sure about your perl prototypes example. Prototypes in perl have a few different effects: some degree of compile-time type checking, ability to imply pass-by-reference (irrelelvant in python since, like Java, almost everything is a reference anyway) and making paren-less function calls even less clear.
  • by chromatic ( 9471 ) on Tuesday December 20, 2005 @05:13PM (#14302889) Homepage

    Hm, I didn't type my full thought.

    If you're a good programmer already and you learn the language, you can maintain the code. Then it doesn't matter if you could read the program before you knew the language. You know the language.

    If you don't know how to program, you have no business maintaining the program before you learn to code. It doesn't matter if you think you can read the program.

    If you're a good programmer and you suddenly have to maintain a program written in a language you don't know, the learnability of the language is important... but you're still in trouble.

    In one job, I had to fix a website for a client developed in ASP with VBScript. I don't know VBScript, but it was close enough to other languages I knew so that I could stumble through a book and figure out just enough to fix things. It wasn't a brilliant solution and it probably wasn't even the optimal solution, but it worked. Still, it was a bad situation.

    I think it was only VBScript's similarity to other languages I'd used (and my familiarity with web programming at that point) that made it possible to fix the bugs. If it had been another language designed for human readability (COBOL, for a totally unfair example, or AppleScript), I'm not sure the readability of the language would have helped at all.

    Fortunately, the client only needed that little bugfix and I didn't have to learn VBScript and ASP to keep supporting them. Sure, my rule about not maintaining code in a language you don't know is an ideal rule and you can't always avoid it, but if people stuck with it we might be in a lot less trouble code-wise.

Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.

Working...