State of the Onion 9
chromatic writes "Perl.com has just published Larry Wall's Ninth Annual State of the Onion address from OSCON 2005. In previous talks, he's used screensavers, music, and Unicode to explore Perl and open source. This year, he introduced the cast of characters in the Perl community in terms of spy movies and metaphors."
I'm disapointed it has nothing to do with The Onion - the satirical news site.
Any more onion jokes like that and I'll cry....
Screensavers, music, and Unicode... and photoshopping himself into James Bond photos.
Hm.
Well I guess that explains then what he's been doing instead of fricking finishing Perl 6!!!
Seriously man I have completed a college education and an entire generation of video game consoles have passed in the time that Perl 6 has been coming "Real Soon Now".
Pugs is a Perl 6 implementation. It is written in Haskell. I recently fooled around with it. What did I learn? Haskell is powerful. Perhaps even more powerful than Perl. Indeed, as a long time Perl programmer I think that I will soon be abandoning Perl in favor of Haskell. Its functional capabilities are extremely useful when writing software that needs to work (think automated verification and such). And that's just the beginning. If the performance of the compiled code of GHC can be improved somewhat, then we might see Haskell revolutionize programming. It will do what Perl did in the early 1990s: open up a whole new set of development opportunities that just plain did not exist.
Cyric Zndovzny at your service.
That was SO bad...
Show this to your friends and family that don't know what a real hacker is
you read the summary and get the impression that President Larry Wall just gave the 9th State of the Union address and he loves pearls and onions.
so here comes the punchline!
WHACK! Anonymous Coward slaps Oxodeaddead around the head a bit with a large Perl book! There that will teach you to insult Perl you farty pants VB coder!
Wow, an entire generation of video game consoles! What is that, six months?
Last couple "State of the Onion" addresses have been pretty bad - understandable, as Larry was getting increasingly ill, and Perl 5 was solidly in the hands of P5P and Perl 6 not yet pushing anything out.
Just started reading this one, and it is delighting me by not giving me the impression Larry is on his deathbed.
Perl is by far THE most EVIL C-looking languages out there.
And Ruby looks like VB. I like my semicolons.
With how inaccessible and cryptic it was, you'd think he'd written it in [insert name of programming language here]... ba-dump-bump.
- Greg
Start a happiness pandemic
This particular insight into the perl community had me chuckling at my desk.
I'm not exactly sure where I fit in, or anyone else for that matter, but hey - Wu-Li's word is like gold.
I've got high hopes for Perl6 - time will tell whether it's been worth the wait... (No, I haven't read the Apocalypses - I'll learn the language when it's released.)
Perl can't continue to subsist solely on its established reputation of being the internet's 'glue'. An entire generation of developers have moved to other languages and frameworks. It looks more like Perl is going to end up as the next COBOL.
The world is moving on.
You've obviously never heard Larry Wall do one of these.
Don't forget that COBOL is still used today. It doesn't have the momentum it once had, of course. Perhaps you're right. The very same thing might happen to Perl. It won't be as widely used as it once was, but it will still be very useful to a lot of people. And it will be maintained, and there will be updates.
Cyric Zndovzny at your service.
Now, now, just because Ruby's block syntax looks like VB's doesn't mean it deserves to be compared to VB...
Please, for the good of Humanity, vote Obama.
Nobody was suggesting that Haskell is the first functional programming language. Of course not! But it has brought pure functional programming to the masses. Haskell's strong typing is a real plus.
Why is it taking over now? It's because we hit the limits of imperative languages years ago, and we're at the point of hitting the limits of object-oriented programming. That's why we're seeing applications that were traditionally implemented in C (such as a Perl implementation) being implemented using Haskell.
A language like Haskell allows more complex programs to be developed in less time, with fewer lines of code, and with enhanced stability and maintainability. While Perl was known for such things as well, Haskell offers native code compilation and the benefits of functional programming.
Indeed, we see that functional programming has had a massive impact on languages like Ruby and Python as of late. That's because the trend is moving towards techniques pioneered by languages like SML, and now made widely usable by Haskell.
I have looked at Curry, but I am not a fan of logical programming. I much prefer pure functional, or at worst an imperative, OO functional language such as O'Caml.
Cyric Zndovzny at your service.
And Ruby looks like VB. I like my semicolons.
:) (only half kidding, actually; I have a real difficulty reading a book when it has a picture of a snake on the cover or when I know a drawing or picture of one could appear whenever I turn a page).
Which is about as fair as disliking Python for its use of indenting instead of braces. Me, I dislike Python because it has the name of a snake, and I'm phobic
Trust the Computer. The Computer is your friend.
Forcing people to work is not the open source way. If he wants to work on Perl 6, then he'll do so. If he'd rather play around with Photoshop, then he'll do that, too. To suggest that he should be forced into working on his open source project, a project that has been a godsend for hundreds of thousands of programmers over the last decade and a half, is just plain ignorant. That's just not how things work in the open source community. Contributions are valued and appreciated, but nobody is forced to contribute.
Cyric Zndovzny at your service.
Python is named after Monty Python, not a reptile. Fear off!
Here's an essay about why braces are inferior to tab delimiting. I know some people really dislike them, but the article offers quite a few good points (and laughs!). I thought it was a very interesting read.
After all, I am strangely colored.
You are a bad person. Sooooo Wrong...
Dude, that was just a pic of a snake in a toilet...
I'd suggest looking on the c2 wiki for info:
This should be it
Please, for the good of Humanity, vote Obama.
Job security, that is. It was so easy to write "job security applications" in Perl that even PHBs caught on to it. The next web scripting language should be based on a very careful study of how obtuse the syntax can be before the cost of maintaining it will be enough to make IT managers cry "enough is enough!" and throw out the entire application. And yes, although I was not the actual maintenance programmer on a Perl app, I was close enough to those who were to understand what had happened, The nature of Perl is such that it was probably not intentional. I mean, it looked like the code was well organized, but no God help anybody who wanted to change it.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
...he can top "Perl6 will give you the big knob," I see no reason to tune in. :-)
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
How is it a troll? I'll tell you how: Slashdot has moved on from Ruby on Rails and is now in prepetual masturbation mode over all things Google. Haven't you noticed?
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
It's amazing how quickly you can cast off Perl 6 when there's not even an alpha version of the interpreter yet (Pugs doesn't count) and when even the specs are not set in stone yet.
I think what you're exhibiting here is what I'd like to refer to as an "inverse God complex"
("inverse" is not the best word, admittedly, but I can't think of a better one) - you do a thought experiment where you try to do something (improve Perl), find that you can't do so in two minutes, and thus conclude that failure is *inevitable* (hence a God complex: if you can't do it, noone can) and that any *actual* attempt to do so must automatically fail as well.
Nevermind, of course, that lots of people, most of them much more intelligent than you and me, have worked on this problem for years; you're still able to not only dismiss their current work, but also all the work they have not done yet and conclude that they're not only doomed to fail, but in fact fail so catastrophically that Perl will die - that is already is dying.
Yes, definitely a God complex. Sorry.
quidquid latine dictum sit altum videtur.
I'm not Larry Wall, but let me answer that one for you:
You should not stick to Perl religiously but rather use the best tool for the job you need to get done. TIMTOWTDI, remember? If Python works for you, that's fine; if Python works better for you than Perl, then by all means, do use Python!
That's not to say that your decision to use Python is automatically right, but it's not automatically wrong, either, and without any knowledge whatsoever about the project you're working on, your personal preferences, your experiences and all that, how do you expect *us* (that is, the Perl community, although I can only speak for myself, of course) to tell you whether Perl or Python is the better tool for your job?
That's up to you to decide - we don't care what you use, although we may be interested in hearing why you didn't choose Perl.
quidquid latine dictum sit altum videtur.
I have no idea why that would matter in the least. It's not like they integrate their faith into their language or anything.
I read the internet for the articles.
> (and not one with loads of irritating whitespacethank you very much).
If thats the only problem with Python (and until you are a bit more explicit, one can pretty much assume so), its gotta be a great language.
(Oh, BTW you are missing a whitespace there between the words "whitespace" and "thank")
this(is) { valid(ruby); syntax( ); }
Why not fork?
Am I the only one for whom the "next" completely fails at life and the internet? It's not just that, sometimes clicking on the page numbers does it too - sometimes. A firefox thing, or is it their fault?
Can someone check if this is a trool? I believe I have read this post before and the line Does he want Perl 6 to be flex or something? is making me deja vu again. I'm not saying this is a troll... just that it sure seems like it could be a copy-n-paste.
Your CPU is not doing anything else, at least do something.
It's amazing how quickly you can cast off Perl 6 when there's not even an alpha version of the interpreter yet (Pugs doesn't count) and when even the specs are not set in stone yet.
You don't need a finished interpreter for a language to be able to see the language definition and know that the syntax is an ungodly mess.
I loves perl for banging out quick scripts for munging data. I loves perl for being able to do all sorts of crazy crap to text files in a one-liner. But I _will_not_ use perl for anything remotely complicated, because the syntax for doing anything more complicated than blasting some text through a regexp or dumping some data into a one-dimensional array is such an ungodly kludge that I might as well be coding in befunge.
I don't think it's even possible turn perl5 into a language that's well-adapted to serious application development. You could create a perl-inspired language for those tasks, but it wouldn't be perl, and that doesn't seem to be what perl6 is doing.
Your post seems oddly familiar...
Perl 6 is a mistake
Perl 6 is a mistake
Perl 6 is a mistake
This is really getting to be a bit tiresome.
BTW, moderators, please stop modding this troll up over and over every time Perl comes up.
Hyperbole is the worst thing ever.
Python is named after Monty Python, not a reptile. Fear off!
:)
I know. It doesn't really help since most books use the snake motif. If the O'Reilly books had used woodcuts of John Cleese sitting in a tree, thoughtfully munching on some leaves or something on the covers I'd had been fine.
I mean, it's not a big thing by itself, but it means I hesitate to pick up a book about the language (and if there is an actual snake on the cover, I literally have trouble picking it up), and the name evokes bad associations I can't help to unconciously partly carry over to my opinion of the language.
Ah well, Ruby looks nicer anyhow
Trust the Computer. The Computer is your friend.
Possibly the single most expected post I could imagine. Everytime the question of phobias crop up in any forum, some immature kid thinks it's funny to try to trick people like this. You _really_ think I'm not careful to click on links in this kind of a situation?
Trust the Computer. The Computer is your friend.
What, exactly, is wrong with "Spectre" ???
"Faith: Belief without evidence in what is told by one who speaks without knowledge, of things without parallel." - A.B.
Well, if you're browsing books at BN, don't pick up this one!
/ 0596100329.jpg
ftp://ftp.ora.com/pub/graphics/book_covers/hi-res
Actually, from the manic madcap release cycle, I'd say Python's already where it will be in 2013. They're coding the releases from 2035 about now, in order to stay ahead of the 2036 releases.
Yah, even though Python is my language of choice currently, the whitespace thing was like the prank the frat plays on you during pledge week. "Whitespace-delimited? You sh*ttin' me? Like a freaking Apple II?" Believe it or not, they did it that way to appease all the people who complained about all the braces and parenthesis in the other languages. Great, so now we're stuck debugging code that uses *invisible* delimiters that we *can't* SEE! Hey, is that three spaces together instead of a tab? What was I thinking?
Now, I think one solution might be a language that lets you *pick* your *own* delimiter. Whatever format the code is in if you're reading someone else's, when you paste it into your editor, it reads your settings and changes it accordingly. All compilers in the language recognize and code either one. That would be a compromise, but there's probably problems with how that would work in The Real World.
Awww, baby want a bottle? I didn't expect you to click on it. It was a joke. Suck it up.
After all, I am strangely colored.
I was going to joke about how long I've been waiting for Duke Nukem Forever and TeamFortress 2... then I looked at the Perl Release History. My god, I've lost my virginity, been engaged 3 different times, went through highschool, went through college, lived in 6 different houses, had about 15 different cars, had about 20 different jobs, and travelled to another continent in since Perl 5 first appeared. And I thought IE7 was a long time in coming!
Some fun facts about 1993, the first appearance of Perl 5 (from Wikipedia - 1993):
In Moscow, George H. W. Bush and Boris Yeltsin sign the second Strategic Arms Reduction Treaty (START).
Washington State executes Westley Allan Dodd by hanging (the first legal hanging in America since 1965)
For the first time, Martin Luther King Jr. holiday is officially observed in all 50 American states.
Bill Clinton succeeds George H. W. Bush as President of the United States of America.
Bureau of Alcohol, Tobacco and Firearms agents raid the Branch Davidian compound in Waco, Texas with a warrant to arrest cult leader David Koresh on federal firearms violations. Four agents and five Davidians die in the raid and a 51-day standoff begins.
Rodney King testifies at the federal trial of four Los Angeles, California police officers accused of violating King's civil rights when they beat him during an arrest.
A bug in a program written by Richard Depew sends an article to 200 newsgroups simultaneously. The term spamming is coined by Joel Furr to describe the incident.
The World Wide Web was born at CERN.
War on Drugs: Colombian drug lord Pablo Escobar is gunned down in Medellín when police tries to arrest him.
And, of course, Perl 5 alpha first appears.
I8-D
I think Haskell has lots of potential, but it has some usability problems: its syntax is highly unfamiliar and error prone for mainstream programmers, and some concepts are just packaged badly (e.g., monads). Also, it's type system is probably more complex than people can handle.
A dynamically typed lazy functional programming language might be a better start towards popularizing functional programming.
Sorry, I neither get the state of the onion, nor do I get Perl. I'm just writing a lot of Perl code again, and while the coverage of the libraries is stellar, the language itself is a constant source of irritation for me.
I honestly don't see why they should suddenly take over and obsolete other programming
I'm not sure about "obsolete" thing, but functional programming strikes back -- that is for sure. Why I say that? First, because I've learned from pugs the same thing: Haskell is powerfull. And there are many other guys, so haskell bacame more popular, thanks to Pugs and Autrijus Tang, its leading developer. Second, new programming languages are adopting functional features: map, reduce, lambda in python for instance. There will be many of them in Perl6. Then Sun is developing new programming language Fortress, which is rather functional too. Why haskell? Haskell is pure and with age of parallel and grid computing at hand this is very important feature!
May Peace Prevail On Earth
Actually, I think that the braces issue is a perfectly valid reason for disliking python.
Suddenly tools that I use in EVERY OTHER LANGUAGE that I develop in become useless. Moving to the first brace in vim and pressing shift-5 takes me to the last one. So I can easily find the beginning and end of nested blocks, subroutines, methods, whatever. This works when I'm writing C, Objective-C, Java or Perl, and a consistent editing environment is one of the things that makes it easy for me to flip between these as the job requires.
Moving to the indent system would probably be fine if I used it all the time, or even if I used it most of the time, but I don't. So it's a pain to deal with everytime I pick Python up.
While I agree that Perl 6 may prove more damaging to the community than helpful (because, if it never achieves critical mass, it'll turn out to be just a big embarrassment), I don't agree that Ruby is a "pure synthesis of science and engineering".
Ruby seems to be a good language, but honestly I've never gotten motivated to take the time to learn it. The main reason -- and this is going to sound trivial and petty -- is the syntax. Whoever invented Ruby seems to think it was big innovation to dump C-style braces ({ and }) and replace them with keywords like end, and they've gotten rid of the semicolons at the end of statements in favor of making distinctions between different kinds of whitespace (newline versus space or tab).
Why do I care about that? It's not as if I can't adjust. The problem is, this change seems utterly, totally gratuitous. It's not an innovation. Decades ago, the REXX scripting language was doing things just almost exactly the same way Ruby appears to do it. The fact is, this trivial lexical distinction -- which is cosmetic only and offers no practical advantage at all either way -- has been hashed out for decades and every combination has already been tried. Since Ruby makes such a point of being different, it makes me feel like the authors are out of touch with reality in some way. Either they're ignorant of computer language history and don't know that their "innovation" is not innovative (which means they're not qualified to be inventing languages), or they do know the history, they're bitter that C has won, and they're still trying to fight the C vs. ALGOL syntax war (which means they have a side agenda other than making the language the best it can be). Neither possibility inspires me very much, so I haven't taken the time to dig deeper and see if Ruby really is worth learning.
... or was it onion?
...
At first read, I was pretty sure the story title referred to G.W.Bush's speech for next year.
Anyway, here's the summary either way:
The world is just a great big onion
& pain & fear are the spices that make you cry
Anyone know how to make a Perl haiku out of that song? One that creates a spy movie plot that's actually less saddening than reality?
Better still, lets hack a transformation script that takes Larry Wall's article and turns it into a candidate speech for Bush to (try to) recite?
All the basic ingredients are there. Dangerous mushrooms, references to Evil Contries, Mugshots with stats (just apply s/spy/terrorist/g ). I've got a feeling the resemblance between Larry's article and the final version of Bush's speech will be amazing...
The Hacker's Guide To The Kernel: Don't panic()!
You want the exegesis and apocalypse articles for that. They're the ones that go into details about the language (apocalypse more about design and big picture stuff, exegesis more about implementation and how it actually works, IIRC). State of the Onion is more about the perl community.
Look here for the articles.
Just bear in mind that perl 6 is a lot different than perl 5 (which is what you're probably learning). The syntax is similar, but object handling will be different, some of the data types are changing (I think), and a few of the operators will change (the biggest example, "." will be replaced by "_").
Perl 5 development continues, of course, but there's not going to be any major changes to it from here on out, so you won't see many articles about the language itself anymore. Most of what you'll find is cookbook style articles and documentation.
Those who can't do, teach. Those who can't teach either, do tech support.
Then I got seduced by things like adding postfix "if test;" -- it was just too readable.
There are modules on cpan that helps with the e.g. less than neat OO syntax.
I agree that Perl easily lends itself to writing unmaintable code, but you can do that in any language. There are advantages and disadvantages with every feature, including flexibility.
Karma: Excellent (My Karma? I wish...:-( )
That sounds like a good idea, but as you said, there's probably problems with how that would work in the Real World.
Please, for the good of Humanity, vote Obama.
The next Cobol is Java!
PS I bet vb.net kids get paid 3x more than you.
Sad so sad.
PS mom wants to know when she can get her basement back.
This was great post...the first time I read it...
/ 2026242&from=rss
http://books.slashdot.org/article.pl?sid=05/07/26
I admit to being kind of disappointed when I heard that about Larry. I know I shouldn't've been. I tried rationalizing it at first by assuming that he was probably playing on words as he always does, you know, like I hadn't paid careful enough attention to what exactly he said. Like, "Of course I'm a Christian. Aren't we all? *wink* *wink*" I also generally try to consider that someone may have trouble expressing certain things and that using religious language may be the only, or the most convenient, way they have of communicating these ideas; or that the language they're using is metaphorical. But I don't think anymore that that's the case with him, because what he's said isn't ambiguous or pantheistic. He's specifically said, for example, "And I am personally convinced that Jesus stands at the heart of the story." (See question #7 of this Slashdot interview for context.)
I admit to being kind of disappointed when I heard that about Larry.
Is it because you think intelligent people would obviously choose atheism? Religion and science are not mutually exclusive. You just need to look past the dogma that the outspoken zealots are spouting.
--
Promoting critical thinking since 1994.
Well, one problem which the "choose the best tool for the job" paradigm is that when you are working at a company that needs to consider supporting your applications after you are gone, sometimes the 'right tool for the job' is to choose from a very small list of platforms that the company is dedicated to supporting.
When I fist starting working, I had to fight tooth and nail to convince the suits to allow me to use perl at all. Dispite the fact that perl was the best tool for the job at the time, they'd rather me jump through hoops to use the platform they had invested in (Oracle 7 and plsql) then have to support another platform. It's about money and it's about being able to meet your end user support agreements.
So it not aways easy to say, "Let's use python for this and perl for that."
Now that I work at a consulting company we have more flexibility, since we typically do one off projects for clients that then support the application themselves afterward. So in that case I can actually choose the platform that seems fastest and easiest to use for the job at hand. If it's a small content management system I will use python with Plone, since I have a lot of developers that have skills in Zope. But often I use Perl for more custom stuff, since that is the language I know best.
I guess it depends on the company you are in.
Peace, or Not?
Not a relevant for my point, of course.
I wrote that you can write Perl like C, if you want -- it is a matter of discipline. My point was a counter argument to a really stupid claim that Perl is unusable for serious programs.
The linguistic influences on Perl do make bad programming a little easier for beginners. It is a tradeoff for power.
The problem with the expressibility isn't IMHO that fools can shoot themselves in the foot a little easier. It is that it makes it harder to learn; more stuff. A bit higher threshold to learn.
Karma: Excellent (My Karma? I wish...:-( )
If you want good i18n, use Python. Ruby will never support Unicode, because Matz is Japanese and the Japanese are on a holy war against Unicode or something.
Please, for the good of Humanity, vote Obama.
I'm just hoping that Perl 6 comes with a brand new edition of Learning Perl, complete with Sponsorship from Hooters. Randle Shwartz clearly knows his circular arrays. I'd love to hear his State of the Onions address, complete with gimp'ed role-models.