I have a very charming Larry Wall story. He came to give a seminar to the research center where I was working, and gave a fantastic talk on Perl 6.
Late in the evening, I ran into him and his wife on the bus when getting home from work - and started talking to them. Apparently, nobody from the department had arranged to take them out for dinner, so we ended up going out for dinner together, where we had a fantastic discussion covering religion, tolerance, and lots of other topics. I am a staunch materialist and atheist, while both the Walls are serious committed Christians, but we had a really pleasant discussion on religion and the nature of evidence.
I ended up giving his wife a copy of Hume's Dialogue on Natural Religion, and they were kind enough to sign a copy of the Camel book for a friend who is a huge Perl fan.
A lot of people know Larry by reputation - but his wife Gloria is just as smart and kind. It was a bit of a strange evening, but it was a rare privilege to meet two such interesting people.
I'm such a fan of how Larry Wall speaks and writes, it's filled with a million little tangents that are stories of their own, but everything relates to the same thing of course. His BigThink videos are entertaining and enlightening. I've always respected Larry, even though Perl was sort-of "before my time" and I never got to write much in his language. But the fact that I mostly have written in languages (for server-side web development) that have been influenced by Perl makes me feel like I understand what he was going for.
Perl's greatest criticism is that it's friggin' unreadable, especially when written by less-than-stellar coders. It's my impression from a skim of Perl 6 that due to a bunch of fairly intricate features added there, it will be come even less readable than Perl 5. Is that a mistaken assessment?
I used to have trouble reading the Perl5 code I would write a few weeks later. But these were small scripts I'd write and a month or two would go by before I'd right another one.
The issue was I didn't fully know the language. Having spent a few years in Perl 5 now, I no longer have this issue. But the Ruby 1.8 code I wrote 5 years ago I can no longer read, I seem to have forgotten it. I never have been able to read Python, I don't know it either (though I do from time to time dig through their std lib and port some stuff into my modules I author :).
The point is, you can't read a language that you don't know, this is such an old argument. And saying "you can read a language if you don't know it if it is easy enough/designed right", is just well... just keep me away from those languages... Reminds me of a 70 year old retired EE friend of mine. He still buys only chips that come with Basic onboard stating "its so simple, I could never learn any of this new languages", yet what takes him a page of basic, I can do in one line in any modern one... The point is simplicity is just one trait out of many, you can't hang everything on it.
To me, Python is so close to pseudocode that I find it very readable. I found and fixed a bug in python code having never before seen any python code. At the time, I only really knew C.
I believe it is a reputation from the time when the web coders first scripts tended to be in Perl, because that was what was available server side. They have long since migrated to PHP instead, and Perl written by programmers who learn the language aren't better or worse than anything else.
The first generation of the web was its short simple text, and it has URL links. You need a language for short simple text reports. In the 90s, that was Perl, it probably still is today.
Several generations of the web have happened since then, the graphics art generation came and went (the web should be programmed entirely in WYSIWYG frontpage or the web should be nothing but downloaded adobe flash animations) and now we're into the program generation (the web should be cascading classes and object oriented frameworks and infinitely complicated architectures)
I think you can wedge a simple text reporting language into the later generations but its going to be more difficult than using that language to generate simple text reports that happen to have some html entities sprinkled in.
MOOSE is a pretty awesome OO system for perl, and Mojolicious is pretty good, but its not realistic to dethrone RoR or javascript frameworks with Perl.
Perl6 could be positioned for the next generation of the web, whatever that ends up being, after the programming generation.
If you are using Perl code golf jokes as your basis for imagining what Perl code looks like, then this is incorrect. Yes there are a few annoyances with special variables and yes this makes it very easy to write things that will be hard for other people to read, but I really think people that write things like that are doing it on purpose.
The documentation for the various intricacies of Perl 6 has gotten much better, at least IMO from Perl 5, and most of the more interesting aspects of the language are just slightly augmented existing ones.
When I encounter another's Perl code, I run 2 things, (1) Perltidy to reformat the code, and (2) Perl::Critic to identify poor coding practices or insecure code.
They are, I can't find Damien Conway's talk from a few years ago, the whole thing seemed so clean and capable. I hope these guys keep trying new things even if it looks like vaporware from a distance.
> Up until now, the Python community has done a much better job of getting into the lower levels of education than we have. We’d like to do something in that space too, and that’s partly why we have the butterfly logo, because it’s going to be appealing to seven year old girls!
Perhaps a bit of both. Regardless, Larry's intentions are good and he's an angel -- which is rare among programmers. Many (like Linus, RMS, DHH) are almost sociopathic in how they view others' work and treat the people they work with, so it's very refreshing to see someone that's not only passionate about his work, but gentle and kind as well.
I was there when he gave that talk in San Jose ... it caught me off guard and made me laugh because he outted how my wife and I met. I'd been intentionally vague with friends, family, and co-workers until then.
Would I be nuts to pick perl over python as my main scripting/server admin language? I am a postgres, openbsd, data/text processing guy.
OpenBSD is 40% perl. Postgres uses perl for its builds. Perl seems to have better text processing capabilities. But it seems to be dying out compared to python.
Perl often fits in better with the 'advanced shell scripting' type of work than Python or Ruby. It has more libraries for unix-like admin tasks, but less common support for external APIs (which more commonly support Java/Ruby/Python/etc.) so it may be an uphill battle if you use a _lot_ of external APIs.
Perl won't ever 'die out', especially if you write good perl that doesn't depend on flashy popularity-train things. It's far too ingrained in many unix derivatives.
If you're a server admin, you're missing out if you don't know perl. Choosing perl might be a little less common today, but it's totally reasonable if you want it.
> but less common support for external APIs (which more commonly support Java/Ruby/Python/etc.)
Yesterday, there were an even 60 CPAN module releases, and that is a pretty typical day. Most of them weren't NEW modules, but some were.
It's true that you don't as often see Perl APIs released along with the various 'external API' things, but, as someone who probably spends too much time tracking the various new hot things, Perl API support is first rate. It's damn rare that I don't see a Perl API for something, even if it's relatively new.
I'be been watching CPAN for a long, long time, and I will say that it's more vibrant and active now than I have ever seen it.
They're both very easy, fun languages, and decent fluency in one will give you a good foundation to get into the other. And going beyond roll-your-own server admin stuff, I do enjoy both Rex (perl) and Ansible (python).
I don't have an off-the-cuff rec for a python book, but Modern Perl (2014) by chromatic is available online, isn't very long, and should give you a chance to test the waters and decide if that's the way you'd like to go.
With my sysadmin hat on I do have a bias towards scripting languages that ship with the OS. Not increasing the OS/distro footprint is one of my 'things'.
I lean more towards Python these days because of tools like SaltStack and Ansible and great library support, and because it fits my brain better.
So with Linux, I'd probably recommend Python as it is a key part of most distros (like Perl still is too, but eg Ruby isn't). But on OpenBSD Python isn't a key builtin part of the OS while Perl is, so I'd still recommend Perl for an OpenBSD admin.
I do mainly Python / Django stuff these days, but if I have some syadmin type tasks, I will happily switch to Perl. It has better build in syntax for quick stuff, like renaming a bunch of files. Built in regexes are so much easier than farting about with object based regexes. Text processing is better. Stuff like file gobbing is built into the language.
Its easier to shoot yourself in the foot with Perl, so I'll choose Python for stuff that is more long term. It really depends what you want to do.
Perl coders almost certainly tend to skew older than the Python population, if for no other reason than Python is more likely to be taught today and more people are learning programming than twenty years ago. And younger people tend to be louder and more enthusiastic while older people tend to be more tool-for-the-job oriented.
That said, it's not clear what you mean by "picking Perl". Adopting Perl 5 is a distinctly different choice than adopting Perl 6. Considering them as separate languages may be a useful, even if dubious, abstraction.
For Puppet, Chef and other stuff it's Ruby. Python ate most of it's share in biogenetic. Php took over Perl in web dev.
Python is much more readable in general imo.
Plus whoever taking over your script may have to maintain it and they're most likely to know Python than Perl (if you're looking at language popularity). The counter argument is that any good programmer can pick up languages but there is a down time still.
I miss Perl. It was the first programming language I learned as a kid. I read the entire Perl for dummies book when I was 14 and uploaded my first script to a "cgi-bin" shortly after. Thanks Larry for your contributions!
Perl will always have a soft spot in my heart. I remember accidentally putting down the Llama book on a stove top, still have that half burned book.
Only non-trivial thing I ever wrote in Perl was the obligatory irc bot :)
Spaceship operator...says it all imo
Those were different days. I got the O'Reilly catalog at a book store regularly and marveled at the possibilities and cool books because I didn't have reliable Internet.
prodigious intellect and a childhood hero of mine.
Unfortunately his contribution to web design rarely gets mentioned (http://www.wall.org/~larry/); no bootstrap--incredible.
Slightly off topic, but has there been any "State on the Onion" updates since 2007[0]? I always looked forward to reading these and was surprised to find nothing new since I last checked some years ago.
I had to check the year on the article - "He’s the creator of Perl, a programming language that’s widely regarded as the glue holding the internet together" was arguably true in 1999 - 16 years ago.
Like several others in this thread, Perl was my first "real" language after POSIX Shell (I started by reading and modifying the early Frozen Bubble sources), and Programming Perl was my first programming book.
That kind of introduction to programming may not be for everyone, but I believe it was instrumental in me making software my career.
I had the privilege to be in the room at FOSDEM when Larry announced Perl 6 for this Christmas. I don't write much Perl those days, but I certainly am going to play with Perl 6. Even if I never write anything useful in it, there are certainly lots of ideas to be taken from that language.
I love the shirt he's wearing in those pictures.
What is it with geeks and psychedelic/hippie outfits ?
Is it because of the patterns and colors, eccentricity or because of real involvement with the counterculture/psychedelia ?
It's always fascinated and intrigued me.
Any people 'in the know' care to elaborate on that ?
Well he attended UC Berkeley in the 1970s, so it’s safe to assume that he has had lots of exposure to hippie culture.
There are actually quite strong connections between computer nerds and the counterculture of the 60s/70s. If you’re curious I recommend the following books:
# What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry / John Markoff. A great book with many fascinating characters.
# From Counterculture to Cyberculture: Stewart Brand, the Whole Earth Network, and the Rise of Digital Utopianism / Fred Turner. Also an interesting read, but much less accessible than Markoff’s book.
# The Cuckoo’s Egg: Tracking a Spy Through the Maze of Computer Espionage / Clifford Stoll. Very good book, reads like a detective novel in a Berkeley setting.
It's Larry Wall. Dressing like a member of the Village People on acid is probably one of the least whimsical things he's done. His State of the Onion addresses all blend surrealism and technicality quite aptly.
Perl was what made one my all-time favorite side projects possible.
Back around 2000, I was working at a mid-size company that stored tons of data in a company intranet. There was lots of useful stuff locked up in there, but hardly anybody ever used it because the web interface was clunky and slow.
One day I had a brainstorm, and after a few evenings' Perl hacking it was up and running -- a conversational interface to the intranet, running over AOL Instant Messenger. You added the bot as a buddy, and then you could query the intranet a bunch of different ways; IM it a client's name, for instance, and it would ping you back with their contact information, who their account reps were, what projects they were associated with, etc. (Which is very useful when your phone rings and it's someone you don't recognize.) Pretty nifty stuff, for the time. Everyone had AIM running all the time anyway, so this turned out to be a big hit -- much bigger than I ever expected.
And I probably never would have been able to get it working were it not for the ease of programming in Perl and the ability to tap into CPAN's massive library of code and take advantage of modules like Net::AIM (http://search.cpan.org/~aryeh/Net-AIM-1.22/AIM.pm). So thanks Larry, and thanks to all the Perl folks who contributed to CPAN over the years!
Interesting that 8 points was enough. Well, it's off to the races. People should remember Perl programmers sleep late and live on the West Coast. Nothing before 1pm EST.
Let the Perl reminiscing commence.
Also, the warning as to why you should never start over.
I would have loved to keep using Perl in a professional setting but even when I first learned it, it was already forever between two major updates. Perl was fun to use. It's just too bad everyone moved on.
This have gotten much better and perl 5 has great momentum these days. There was sort of a changing of the guard as a lot of the old guys moved on to perl6 or other things. However nowadays there is lots of fresh blood moving the project alone real nice like.
Late in the evening, I ran into him and his wife on the bus when getting home from work - and started talking to them. Apparently, nobody from the department had arranged to take them out for dinner, so we ended up going out for dinner together, where we had a fantastic discussion covering religion, tolerance, and lots of other topics. I am a staunch materialist and atheist, while both the Walls are serious committed Christians, but we had a really pleasant discussion on religion and the nature of evidence.
I ended up giving his wife a copy of Hume's Dialogue on Natural Religion, and they were kind enough to sign a copy of the Camel book for a friend who is a huge Perl fan.
A lot of people know Larry by reputation - but his wife Gloria is just as smart and kind. It was a bit of a strange evening, but it was a rare privilege to meet two such interesting people.