State of the Onion 9 174
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."
And every year (Score:4, Funny)
Re:And every year (Score:2)
Re:And every year (Score:1)
That's ok, we have /. instead.
Re:And every year (Score:2)
That's ok, we have
Or fark.
No, seriously: what I really miss is suck.com . That was the good old days.
Re:And every year (Score:2)
Re:And every year (Score:1)
Screensavers, music, and Unicode? (Score:5, Interesting)
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".
Re:Screensavers, music, and Unicode? (Score:5, Funny)
An entire generation of video game consoles. (Score:3, Interesting)
Re:An entire generation of video game consoles. (Score:2)
Re:Screensavers, music, and Unicode? (Score:2)
Re:Screensavers, music, and Unicode? (Score:2)
Re:Screensavers, music, and Unicode? (Score:5, Funny)
The sinister Perl 6 cabal briefly debated unlocking Larry from the chains holding him to his desk for 23 and a half hours every day until the first stable release so he could respond, but this comment has given us a much needed sense of perspective: some random jackass on the Internet has nothing better to do than complain. It's back to the salt mines for Mr. Wall!
Re:Screensavers, music, and Unicode? (Score:5, Informative)
Re:Screensavers, music, and Unicode? (Score:4, Insightful)
I want Perl 6 to be the community's rewrite of Perl and of the community.
And that's the chief reason why it's a directionless (or perhaps I should say omnidirectional) disaster that's not even close to production-ready after all these years. Programming language design by committee does not work.
Re:Screensavers, music, and Unicode? (Score:2)
Forced labour is not the open source way. (Score:5, Insightful)
Re:Forced labour is not the open source way. (Score:2)
Not only that, but he stays right away from the standard powerpoint presentation, complete with COTS clip art {shudder} and marketing gloss.
His style encourages people to think about what they are listening to.
Good on him.
Re:Forced labour is not the open source way. (Score:3, Insightful)
Perl6 is, in my opinion, a mistake. Probably perl5 was also a mistake (I've written many tens of thousands of lines of code in Perl5, and work with it full time, so I have some idea what I'm talking about). Perl4 was decent, for doing what Perl4 was used for - the Perl5 extensions make it *seem like* Perl is usable for more tasks. Actually, it IS usable for more t
Re:Screensavers, music, and Unicode? (Score:2)
Re:Screensavers, music, and Unicode? (Score:1, Flamebait)
Unfortunately it's bloatware now. Perl is a nightmare and large projects based on perl are even scarier.. (look at the web portal metadot... omfg that is a horrible bastardization) you need to take 10 times the number of steps to do something in Perl than what you ne
Re:Screensavers, music, and Unicode? (Score:1)
I don't think you understand either PHP or Perl 6. Compare the count of core operators, for example, and consider that despite a few stabs at CLI use and GUI programming, PHP is not a general purpose programming language in any sense that Perl is.
Re:Screensavers, music, and Unicode? (Score:4, Interesting)
Quite frankly, a cleaned up object model is just what perl needs. Well, in addition to some standardized handling of threads, and some other features that most OO languages have.
Perl isn't Ruby. Perl isn't Python. Perl isn't PHP. Perl is its own animal/vegetable/mineral. It may not be your cup of tea, which is quite obvious, but thats a Good Thing. It means that Perl isn't giving into peer pressure from other programming languages and simply becoming a weak amalgam of language X/Y/Z with a few more dollar signs strewn about.
I like Perl. It truly makes coding a fun event for me. I am not bound by many of the restrictions of other languages, unless I want to be. It allows me to write a program in a form that more closely resembles the ideas and designs I have in my head than any other language I have tried.
Go Perl.
Re:Screensavers, music, and Unicode? (Score:1, Interesting)
I really agree with lumpy. but then I also think that PHP and python are getting too bloated as well. keep the core clean an
Re:Screensavers, music, and Unicode? (Score:3, Interesting)
If there are things, I'm really curious to hear about them, as that should mean that there's some interesing Perl paradigms I don't know...
Eivind.
Re:Screensavers, music, and Unicode? (Score:3, Interesting)
a = %w( ant bee cat dog elk ) # create an array
a.each { |animal| puts animal } # iterate over the contents
5.times { print "*" }
3.upto(6) {|i| print i }
('a'..'e').each {|char| print char }
ARGF.each { |line| print line if line =~
Re:Screensavers, music, and Unicode? (Score:2)
The last one is definately more convenient in
Re:Screensavers, music, and Unicode? (Score:2)
That's why I didn't recode as idiomatic Perl, noting that the Ruby code avoided the same idioms. (x is *, print @stuff is print stuff.join, etc).
Eivind.
Re:Screensavers, music, and Unicode? (Score:3, Insightful)
Go and play with PHP, kid.
Re:Screensavers, music, and Unicode? (Score:2)
Monolingual? Only by choice ;-)
Quick version of resume (skipping languages I don't know enough to use): C, C++, Java, shell, Perl (admittedly, no PHP nor Ruby). Quick version of what I use on a day-to-day basis: Perl. Monolingual? Yes. But that's because I'm 100x more productive in Perl than any other language I've learned thus far. Favourite language? C++. But I use perl to get my job done now rather than later.
Re:Screensavers, music, and Unicode? (Score:4, Interesting)
I know replys that begin "you should be thankful, imagine if..." suck, but:
Be a Python programmer for awhile and see the *other* extreme: a programming language that never stops being a moving target! Wrote a program in Python yesterday? It's outdated, they no longer use that function, you gotta re-code it. Should you do it today? Nahhh, it's nearly five o'clock, better wait for tomorrow's edition of Python so we get a whole day's use out of it.
Let's make a deal, six months out of the year, we swap Larry for Guido.
Re:Screensavers, music, and Unicode? (Score:2, Informative)
> longer use that function, you gotta re-code it. Should you do
> it today? Nahhh, it's nearly five o'clock, better wait for
> tomorrow's edition of Python so we get a whole day's use out
> of it.
What are you talking about? Can you name any changes that required you re-code your python program? Python major versions have fairly regular and introduce some major features (type unification, generators, decorators etc) but I can't imagine
Re:Screensavers, music, and Unicode? (Score:3, Informative)
Well, Blender scripts (specifically anything calling the math module) no go on 2.4, go on 2.3. To name *one* example. And what about the string/character-handling functions? Going through the docs, every other one of them has "Do not use, we're getting rid of this one." stamped all over it. Whole language has been that way since I got into it, where have you been?
Re:Screensavers, music, and Unicode? (Score:2)
I wrote scripts for python 2.1, which is IIRC a few years old, and have no problems with them today (on 2.4)
Re:Screensavers, music, and Unicode? (Score:2)
Re:Screensavers, music, and Unicode? (Score:2)
For God's sake, it's still my language of choice! It's not like I'm condemning it, I'm just saying it'll be nice when the whole language can sit still for a few months. Here:
http://docs.python.org/lib/node110.html [python.org]
It says "deprecated functions". Now, go scream "FUD" at Guido, yah swab!
Ye-Gads! (Score:2)
Some fun facts about 1993, the first appearance of Perl 5 (f
Re:Screensavers, music, and Unicode? (Score:2)
C'mon Everyone Knows that he's waiting for Duke Nukem Forever to release perl 6!
What I've learned from Pugs. (Score:4, Interesting)
Re:What I've learned from Pugs. (Score:5, Informative)
Not that functional languages don't have their merits, of course, but I honestly don't see why they should suddenly take over and obsolete other programming paradigms now.
That being said, have you taken a look at Curry? It's a language that combines functional and logical programming (à la Prolog) - definitely rather cool.
Of course functional programming is ancient. (Score:3, Interesting)
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 l
Re:Of course functional programming is ancient. (Score:5, Informative)
I've met many people, especially at the university, who believed that functional languages were the holy grail of programming and that they would be taking over the (computer) world Real Soon Now(tm). But it's never happened, and nowadays, I believe that these people are just out of touch with reality.
Let's face it - the IT industry is just like any other industry, especially in one regard: things usually happen by evolution rather than revolution. Traits of functional programming languages will certainly find their way into the "mainstream" (and the "mainstream" languages), but nobody'll decide to just throw out all existing code all of a sudden and reinvent everything from the ground up in a new language - no matter how good that language is or, more important, how much better it is than the existing languages. Even object-oriented programming is really an extension of the imperative programming paradigm, not a replacement.
Paradigm shifts do occur, but they occur over time, and it's a smooth transition, not an abrupt one. Statements like "we've hit the limits of imperative languages" may sound cool, but they ultimately don't mean anything - the limits are changing. Boundaries *can* be pushed, and *that* is something that is *especially* true in the computer industry in general and the software industry in particular.
I won't deny that I'm not a fan of functional programming languages myself, of course. Personally, I think they're rather unnatural; it may be easier to model their semantics mathematically (and the mathematical models will be more "natural", too), but I also think that the step-by-step approach of imperative languages is more natural for the human mind - it's how we do things, and that's probably why imperative languages took off when functional languages didn't (and for the record, both functional and imperative programming language started at the same time, in the mid-50s, and the theoretical foundations, in the form of Turing machines and lambda calculus, also popped up at about the same time).
Nevertheless, I do realise that functional programming languages have some very interesting and useful features, and I'm certain that these will be incorporated into existing languages (or new languages based on existing ones, in the sense that Java is a new language based on C, for example) eventually - and that's a good thing. Pure functional programming, however, will (IMO!) always remain a specialised niche for certain, mostly mathematical (that is, theoretical) problems that naturally lend themselves to being modelled in functional ways.
Re:Of course functional programming is ancient. (Score:2)
The masses are about procedural programming, not functional.
Functional programming, IMHO, has a longer learning curve, and not all brains can do it as quickly, if ever.
This is more my empirical observation than an elitist assertion.
Re:What I've learned from Pugs. (Score:2)
This book [amazon.com] is a good reference on Perl's functional capabilities.
FP strikes back (Score:2, Informative)
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. T
Haskell (Score:2)
A dynamically typed lazy functional programming language might be a better start towards popularizing functional programming.
Re:What I've learned from Pugs. (Score:3, Insightful)
Perl was never about raw power. Perl has always been about providing quick access to stuff you need often: hash tables, regular expressions, plowing through files, and so on. Haskell is a more powerful language on a fundamental level, but not on the day-to-day usability level. They each have their uses.
Re:What I've learned from Pugs. (Score:2)
You know you're tired when (Score:5, Funny)
Finally! (Score:4, Interesting)
Just started reading this one, and it is delighting me by not giving me the impression Larry is on his deathbed.
Oh geez... (Score:5, Funny)
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
Re:Oh geez... (Score:2)
Actually, I would expect that language to be Perl.
As a longtime and frequent perl programmer... (Score:2)
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.)
Ridiculous (Score:5, Insightful)
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.
But COBOL is still used today. (Score:3)
Re:Ridiculous (Score:2)
Re:Ridiculous (Score:2)
The fact is that alpha-geeks are moving on to the next new and cool technology or language out th
Re:Ridiculous (Score:2)
Re:Ridiculous (Score:3, Informative)
Python is a nice language, but it suffers actively from design features that simply try t
Re:Ridiculous (Score:2)
My perl scripts are never object oriented. If I wanted a full-blown class-inheritance system in my scripts, I wouldn't be writing scripts.
So class members, accessors, methods, etc are completely beyond anything I'd ever use, and completely not exciting to me. If I want to deal with that stuff, I write in Java or C#.
I may be alone, but I suspect a lot of people use Perl as a quick 'n dirty scripting language to
Re:That position has already been filled (Score:2)
Perl Had Too Much Security (Score:4, Interesting)
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.
Re:Perl Had Too Much Security (Score:3, Interesting)
Re:Perl Had Too Much Security (Score:4, Insightful)
Re:Perl Had Too Much Security (Score:2)
I have never observed sucky programming to vary its frequency by language.
Unless... (Score:3, Informative)
It'll become obsolete even before it comes out (Score:1, Offtopic)
INSANE stuff. MSFT may have a winner with that one.
pageturning issues (Score:2, Interesting)
Re:pageturning issues (Score:2)
Damnit Larry... (Score:2)
I don't get it (Score:2, Flamebait)
Re:Any Relation to the News Site? (Score:4, Funny)
Re:Any Relation to the News Site? (Score:1)
Re:Maybe perl is a bad joke.... (Score:2, Funny)
WHACK! Anonymous Coward slaps Oxodeaddead [slashdot.org] around the head a bit with a large Perl book! There that will teach you to insult Perl you farty pants VB coder!
Re:From the article (Score:1)
And Ruby looks like VB. I like my semicolons.
Re:From the article (Score:3, Funny)
Re:From the article (Score:2, Offtopic)
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
Re:From the article (Score:3, Insightful)
Re:From the article (Score:3, Insightful)
ftp://ftp.ora.com/pub/graphics/book_covers/hi-res
Re:From the article (Score:2, Troll)
Re:From the article (Score:1)
Re:From the article (Score:1)
I'd suggest looking on the c2 wiki for info:
This should be it [c2.com]
Re:From the article (Score:2)
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 tog
Re:From the article (Score:2)
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
Re:Could it have been any more boring? (Score:2, Interesting)
Google... (Score:2, Troll)
Re:Perl 6 is a mistake. (Score:3, Insightful)
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 *inevit
Re:Perl 6 is a mistake. (Score:2)
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 re
Re:Perl 6 is a mistake. (Score:2)
You can write Perl with mostly C syntax. I did that in Perl for the first few hundred pages, mostly so non-Perl people could read it.
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
Re:Perl 6 is a mistake. (Score:2)
By definition a correct statement for most any two languages! ! ("==" for numerical comparisions and "eq" for strings, etc.)
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 ba
Whitespace (Score:3, Funny)
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")
Troll? (Score:2)
Re:Perl 6 is a mistake. (Score:2, Informative)
Perl 6 is a mistake [slashdot.org]
Perl 6 is a mistake [slashdot.org]
Perl 6 is a mistake [slashdot.org]
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.
Re:Perl 6 is a mistake. (Score:2)
While I agree that Perl 6 may prove more damaging to the community than helpful (beca
Re:Questions for Larry (Score:5, Insightful)
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.
Re:Questions for Larry (Score:2)
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 ra
Re:Questions for Larry (Score:2)
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.
Re:Larry Wall, along with Donald Knuth... (Score:2)
Re:Larry Wall, along with Donald Knuth... (Score:2)
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.
Re:State of the Onion (Score:2)
Look here [perl.com] 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 cha