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 read this first page, thinking "this is quite amusing". I think got to the bottom, and saw it was 11 pages long. I don't think I've *ever* read something 11 pages long online in my life. The end of page 1 he's on about deconstructionism. I skip randomly to page 7. First paragraph:
"Let's take another look at the pink tennis court. I mean, the universal architectural diagram. It really isn't quite as universal as I've made it out to be. First, let's get rid of the pink."
This is the thoughts of the man behind perl. This explains a *lot* about perl.
Read reviews of shopping cart software
Is Larry a slashdot regular ? :)
Now, some of you young folks are too steeped in postmodernism to know anything about postmodernism, so let's review. Postmodernism in its most vicious form started out with the notion that there exist various cultural constructs, or texts, or memes, that allow some human beings to oppress other human beings. Of course, in Soviet Russia it's the other way around. Which is why they managed to deconstruct themselves, I guess.
For those who are wondering, a 'pony' is cockney rhyming slang for crap:
Pony and trap: crap.
The similiarities are beyond skin-deep
The dangers of knowledge trigger emotional distress in human beings.
'state of the onion' address is here
Boy, was this right on target or what?
Creationists are a lot like zombies. Slow, but powerful and numerous. And they all want to eat our brains.
Maybe because the goals evolve has the language evolves..
rm -rf /home/leia
What a cheap comment. Who modded this to +5, are we suddenly all Perl haters too ?
I don't know Perl, but I know I like the text and I get his points. It makes me consider studying Perl.
There is some really interesting low level language stuff going on. State of the art I suspect.
You sir, are part of the ungrateful and you are certainly unwilling to get any clue about the article at all. You only produce a cheap flamebait...
In his speech Wall referred to an attempt by Python to attempt to buy a high powered regular expression engine from a small African nation. This statement was later noted to be incorrect.
I still maintain that whoever wrote this MUST have worked in IT.
We the unwilling,
led by the unknowing,
are doing the impossible
for the ungrateful.
We have done so much for so long with so little
We are now qualified to do anything with nothing.
Blog,Twitter
For God's sake, give this man back his caffeine!
Take life easy: one bit at a time.
Dry, funny, in touch with hacker culture, informed, astutely political, funny, broadly educated, an enthralling speaker, a brilliant coder and funny again...
Larry Wall is everything that Eric Raymond believes himself to be.
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
Source here.
-Cyc
/.'s 10 Millionth
Languages evolve, and that's all there is to it. Should development of C, C++, PHP, Python, Ruby, etc. be stopped because they have acheived their initial goals?
No, of course not. Let them evolve, as they all have done and continue to do.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Geez as open-minded as people on Slashdot claim to be, anytime something different comes along let the flames fly!! You don't have to like Perl, but why flame Larry for that? How many of you built a an extremely popular programing language from the ground up. I mean surely Perl must have gotten something right or growing numbers of people wouldn't have used it for the last 14? years and ported it to more platforms than I can count.
Sure Larry can be a bit eccentric but he's mildly amusing and he has some really good ideas about language design that challange the current ones. He's also willing to learn from good ideas from other languages (Creating a VM for example for multiple languages to target to).
And another thing, the whole "You can't read Perl or figure out old programs" bit is getting old. You can do that in ANY language. You can also follow some generally accepted formatting rules and your code will look just fine and be readable by any halfway experienced coder.
Rant off.
The Anti-Blog
Maybe he likes developing Perl.
Larry Wall is clearly a genious, and actually has a huge range of interests aside from software. One year, he talked about chemistry. The last time I was at the Open Source conference, he talked about music (and demonstrated his abilities in playing about 30 different instruments). I can still remember the puzzled look on many people's faces and some even getting up and leaving. So this year, the theme is jokes ...
For the harcore Perl person, I guess the key is to look carefully for anything related to the future of the language in between all the silliness. Maybe he's trying to tell everyone there are a great many things to life outside programming. More likely he's just got a twisted sense of humor. I found the best thing to do was to kick back and enjoy it for the entertainment value - a relatively tough concept when you're not seeing it in person and only looking at a printout though :-(
of Larry's genius. Discussing 'memes', Larry happens to weave in the 'In Soviet Russia...' meme without drawing too much attention to it.
You've unintentionally nailed a fairly deep truth about both Larry and Perl.
Both are very, very amusing/accessible, and very complex.
If you skip around in an attempt to "get" either of them, looking for an executive summary, you end up walking away scratching your head, because neither was "designed" (although Larry would have no trouble with that word, I do) that way. They both evolved (and now I'd really wonder what Larry would say to *that*).
But if you give a little time towards trying to understand them, both are hugely rewarding, make you think, and have proven themselves extremely useful.
The "peeling an onion" metaphor is is especially apt - there's always something new to learn.
I forget what 8 was for.
Guess this poster (and a few people with moderation points as well) doesn't realize that thats pretty much what they're doing with Perl 6. They're not throwing out the whole language, but they're cleaning up some of the syntax, improving object support and redesigning the engine itself.
to know that Larry covered that in his speech and somewhat dismissed the Mother Teresa connection (the quote has been attributed to all sorts of people). Yes, he talked about every random topic you could possibly think of.
... I don't quite understand you but that's ok. Just please don't ever offer me anything of the stuff you smoke. :-)
We suffer more in our imagination than in reality. - Seneca
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.
Perhaps his prior "State of the Onion"s are better... can't say I've read them.
I don't know Mr. Wall, but from the way others gush about him, I suspect he is an interesting fellow, and I certainly love Perl... but his humor doesn't appear to be his strong point. :(
His talk really could have been only 10 seconds:
o The movers of the world tend to be the unreasonable.
o Deconstructionism is about understanding and breaking down "oppressive" memes.
o Postmodernism is about using a common word to mean its opposite.
o Perl5 is done, a new Perl 5 based on Parrot will be called Ponie and will be the transition step to Perl 6, which will also be based on Parrot. (Which everyone who cares about Perl already knew anyway.)
If this a typical "State of the Onion", I hope the organizers cut him down to those ten seconds sooner, rather than later...
"Why should I be content to simply live in this world, when I, as a human being, can CREATE it?" - Oertel
...Onion was good, but to hear it you had to sit through five other "State of" speeches which were terminally boring. (Well, the "State of the Snake" wasn't boring, but its schizotypic references to the "Pythonic way" of doing things went a long way toward explaining why the Python community is so paranoid.)
A hidden gem appeared later in the week when Yukihiro "Matz" Matsumoto gave his "State of the Corundum" speech. (Actually it wasn't called that. It was called "The Power and Philosophy of Ruby.") The subtitle alone ("how to create babel-17") had the packed room buzzing before he started: "He's going to turn us into uber-assassins with no sense of self!"
The slides are available online (link above) and are definitely worth taking a look at. He's kinda sensitive about his English, so don't flame him unless your Japanese is better. Matz's philosophy is also guided by this maxim: "Be humble, be minor, be happy."
Eternal vigilance only works if you look in every direction.
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)
one of my favorites is the one on swearing, where he calls someone "...a pendulous-breasted mennonite wet nurse...". i still giggle when i think of that.
Those are my principles, and if you don't like them... well, I have others.
Groucho Marx
I found it interesting that Larry didn't mention how this is positioned (philosophically, or technically) in relation to .Net which is offering a similar sort of framework.
I guess one big difference here will be that you probably wont have to compile your programs, even down to byte-code - it will just do it on the fly. (At least it seems that it will be that way, given the current nature of perl)
What could be cool though would be being able to call code from python, perl, php, java, and whatever from within your app (which could be in any of these languages too). But I guess that is just the whole .Net buzz anyway - Theoretically at least.
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?
Try here or here.
Just trust that there are many talented people working on Perl 6.
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.
Have you learned a non-phonetic alphabet before?
I've learned enough to know how difficult it would be to be fluent. Why do they teach Chinese children pinyin? Why do the Japanese use hiragana, katakana, and romaji if kanji is so superior?
I believe that once mastered, non-phonetic alphabets allow for faster and more accurate transfer of information.
Faster, I might give you, but given the redundancy, interoperability, and modularity in phonetic alphabets I think that accuracy is not on your side. Europe took over the world because of their language, not in spite of it.
To me there has always been a clear distinction to me between speakers that are constantly converting languages in their heads and speakers that are actually using the second language to think.
Unfortunately, the history of Psychology and AI has shown that introspection and observation teaches you jack-all about what's actually going on inside someone's head. Yes, languages that are fluent are implemented in a different part of the brain than for those that are conscious symbol-manipulation, but that doesn't tell you anything about what format is being used underneath. By analogy, I challenge you to demonstrate whether your computer uses ones-complement or twos-complement arithmetic without opening the case.
Again, you might want to give a little more information than "so and so said so."
There's this thing called Google, please try and learn how to use it. Vocabulary does not limit thought, ideas limit thought -- otherwise how can you think something when you have the word "on the tip of your tongue"?
I approve of your cultural-gap interpretation of Matsumoto's claim. And my local Wittgenstein guru did not sign off on that part of my argument.
I don't think Perl is hard to follow. I think Perl makes it extremely easy to write hard to follow code though. But hard to follow code can be written in any language.
There are good programmers and bad programmers. Good programmers can write clear, easy to follow code in most languages (exceptions being Malbolge and Intercal). Bad programmers manage to make life incredibly difficult no matter what their chosen tongue.
I'd be reluctant to use Perl at work for any code that has to be maintained by anyone except myself. It's a very expressive language and it's way to easy for different, equally competent coders to come up with incompatible idioms. In constrast, a language like Java places strong restrictions on the way you approach coding in it. On the one hand this is a good thing because you can quickly figure out what another coder is doing. It's not so good because it sometimes prevents you finding the neatest (and easiest to follow) way of doing something.
That said, I really enjoy coding in Perl for fun for the same reasons I like Go and composing music: intellectual stimulation. I usually write Perl programs to solve real problems but non-critical ones. That way I can have fun exploring different ways of solving problems.
"Where is the wisdom we have lost in knowledge, and where is the knowledge we have lost in information?"-T.S.Eliot