State of the Onion 7
chromatic writes "One of the highlights of every OSCON is Larry Wall's annual State of the Onion address, covering Perl, philosophy, linguistics, music, theology, science, and usually a few other things thrown in for good measure. His talk from OSCON 2003, State of the Onion 7, is now online."
I tend to agree. Start again without all of the existing syntax baggage. Being able to reuse exsiting perl libraries would be, imho, the only requirement for a next version of perl. Larry, just write a new language the way you though it should be done, don't "waste" time building more onto the already over complex and weird perl structure you have already.
development.lombardi.com
I think the Perl6 effort should concentrate on real short term acheivable results rather than claim to support all languages. The runtime behavior of Java or C#, for instance, could never be properly supported by Parrot due to the lack of thread support and the structural changes it would require to support these JVM/CLR thread constructs. Sure, anything could be done - but at what cost? It would take many man years of effort just for this one feature. It's not worth it if it would delay the completion of Perl 6 by several years. Ponie is a step in the right direction. Parrot should just concentrate on Perl. When people see these smaller milestones being acheived there will be more interest in the project as a whole and it would increase its chance of success. Otherwise it will likely end up like Topaz before it.
of Larry's genius. Discussing 'memes', Larry happens to weave in the 'In Soviet Russia...' meme without drawing too much attention to it.
Know why? They're probably using HTML::Mason to script pages that should have been flat HTML. Instead, the cutesy query string for each page gets processed for every request.
And, golly, why break the talk up into 11 "pages" in the first place? For better advertising for O'Reilly, perhaps? Or do the webmasters think that we can't handle a long vertical scroll bar? Give it to me straight up!
Before you think this is a pure troll, I love Perl and I think Larry is cool. But I have yet, after many years of working with Perl, to come to grips with the business relationship between Perl and O'Reilly. (And yes, I have lot's of Nutshell books and most of the Perl lineup on my bookshelf.) C'mon, Tim, you can make money fast without resorting to counting every click-through on the perl.com site and ensuring there's a unique ad at the top of the page. That's so 90's.
Maybe I'm reading this wrong, but in all those pink tennis court diagrams was the concept of Parrot as a universal interpreter for Perl 5, Perl 6 & a heap pile of other languages. While it's an interesting concept in & of itself, it suggests to me that the advent of Perl 6 will not mean the demise of Perl 5, which is something I find quite comforting. And then Wall takes the "impossible object" widget, turns it into a comb & uses that to illustrate Parrot. Whoa!
This was the most fun read I've had in a while.
"Obviously, I'm not an IBM computer any more than I'm an ashtray" (Bob Dylan)
Perl remembers that you still have to use functions to cause things to happen. According to your fancy object-oriented stuff -- Java, Ruby and the like -- the recipe for making beans on toast goes like this; At least Perl remembers that you still have to execute functions. A saucepan on a stove is a function: you put something into it, it gets changed in some way {in this case it gets hotter}, and you take something out of it. Now, beans do have a measurable temperature, but to me at least it doesn't make any sense to imagine sliding the thermometer to cause the temperature of the beans to change. I expect to have to call a function to cause the beans to get hot.
Speaking of functions, I do love the way you call functions in Perl; you don't need to know or care in advance how many arguments your function is going to need, nor what to call them, because they just come through as one array which is always called @_. Oh, and Perl {and this definitely influenced PHP} indicates variable types with a prefix, so even within speech marks, it can spot a variable and insert the value.
PHP is a bit easier for creating web pages. It automates some of the things Perl makes you do for yourself {like grabbing form variables and function parameters} and you don't have to remember to send a MIME type, but comparing PHP to Perl is like comparing DJ's record decks to a Dansette autochanger. A DJ needs a level of control over the record playing process that automation would take away. Someone who just wants to listen to a stack of records from beginning to end and doesn't mind waiting a little while between songs doesn't need that level of control.
Another "feature" of Perl is that it's possible to write a piece of code you completely understand one day, and it to be so perfect, crystal-clear and obvious that commenting would spoil it; yet a mere 24 hours later, that same code whose beauty you appreciated and with which you Became One, has turned to gibberish.
Je fume. Tu fumes. Nous fûmes!
As far as I can tell from what I've read, Perl 6 is an attempt to make the world's most unreadable language. The purpose of the "mutability" is to allow programmers to change the language on the fly, right? So when you sit down to read a piece of Perl 6 code, first you'll have to figure out what changes were made to the language. It'll be just like LISP macros, except instead of having brackets all over the place you'll have every punctuation symbol in Unicode.
Larry has an ulcer, poor health insurance and low income. Perl6 is large, complicated and not done yet. But they'd like to, you know, just include a little universal scripting language engine in there, as well as all the actual Perl stuff.
It's A Beautiful Mind all over again. Perl 6 is the Riemann Hypothesis. Larry Wall is John Nash, except there may never be a Nobel prize for scripting languages. It's going to kill him or drive him mad. Forget about killing Microsoft, how do we keep Larry alive and sane?
Interesting that you provide a link to his "software" page and yet you still claim that all he's worked on is a "bunch of applets". Wow. Way to trivialise someone's work. *roll of eyes* How long did it take you just to read through and comprehend that list of software? Note especially the stuff under the heading "Other People's Software", indicating major projects he's contributed to.
I wrote a comment a little while ago for someone else like you who seemed to enjoy trashing (or at least trying to talk down) Raymond's contributions to opensourcedom, for no easily apparent reason. Mind you, that thread was on a topic that seemed devoted to ESR-bashing... :-)
BTW, you might want to take a note of ESR's projects page as well as the more specific software page. He's produced a lot of worthwhile stuff that can't just be categorised as software.
Anyway, completely offtopic. Feel free to mod away, moderators. :-)
Pete.It's interesting that these virtual machines exist primarily for strategic reasons. Each group wants to control their run-time platform. So they have to insert an interpretive layer between their language and the operating system. Why? Because the operating system is usually from Microsoft, and Microsoft keeps changing their API to lock people into Microsoft products.
It's worth noting that taking this route implies a battle with Microsoft. They hate it when someone puts a portable platform on top of their OS. Look what they did to Java, Netscape, Borland... This decision puts Perl on a collision course with Microsoft.
I think we should cross it with Winston Churchill:
"Never in the field of human endeavor,
have so many unwilling given nothing
to so many with so little for so long"