Perl needs (more) evangelism

Purdy on 2006-10-10T13:38:14

I was having lunch with a programmer friend of mine, who does his work in .NET (C#, I believe) and we got into another 'Why Perl? Why .NET?' diatribe, which really went nowhere[1]. The sticking point to me was that while Perl is a great language/platform to immerse yourself in, the cool/new stuff leaves Perl behind.

This idea was enforced by a recent Slashdot story, where an aspiring student picked great programmers to ask questions, but Larry Wall didn't make the cut. Not that Larry isn't great, but that Perl doesn't have the mindshare such that it made the student's list. Hopefully, Larry didn't get the email & ignore it. ;)

Topcoder is a neat site where programmers can compete, but they only support Java, .NET, C++, but not Perl.

Google has code competitions which include Python, but not Perl. They have a neat Desktop system you can develop on, but not in Perl.

You can develop extensions for Firefox/Thunderbird, but not in Perl.

I'm probably not saying anything that hasn't already been said, but I'm worried about being the guy scrounging for jobs when I'm 50 and too set in my ways to learn yet another language, when all these cool/new things are the now/then standard.

We need to get Perl embedded into these cool/new things so that we never have to leave the comfy confines of the language to not only get the job done, but do some cool stuff, too.

Peace,

Jason

[1]: This leads me to yet another lesson I've learned - you learn more from listening than talking. There is no real truth that can win an emotional/instinctual/behavioral/spiritual argument. Watching Pudge & Ovid go at it enforces that lesson. ;)


Evangelism?

DAxelrod on 2006-10-10T16:43:17

I, too wondered about the absence of Larry Wall. He writes wonderfully, and his answers to those questions might provide some insight.

That said, the author of the article says "Not everyone responded to my e-mail, not everyone agreed to answer the questions". Given that, do we actually know who was asked?

Secondly, I may be reading what you wrote unfairly, but it sounds like the primary reason that you want to promote Perl is so that you have job security and don't have to learn other languages. While I certainly have selfish reasons for promoting Perl, I'm not sure if they're the best way to do it, and they're not my only reasons. People should use Perl if and when it's appropriate to what they're doing and it will help them.

Promoting Perl past that would be a disservice, I think. An author of severely-memory-constrained embedded firmware might try using Perl and saying "This sucks!" And they would be right, because a hammer is horrible at tightening screws.

Re:Evangelism?

DAxelrod on 2006-10-10T17:09:58

Rereading my comment, I'm concerned that I came off differently than I intended. I did not mean to call you selfish, as I've seen plenty of examples of your generosity. I appologize if I came off as insulting. That was not my intent.

Rather, I meant only that there are reasons to promote Perl that benefit more people at the same time. I want people to use Perl because it helps them, and if it helps me too, well that's awesome.

Re:Evangelism?

Purdy on 2006-10-10T17:16:39

It's all good ... thanks for the thoughtful follow-up. :)

Re:Evangelism?

Purdy on 2006-10-10T17:12:11

*laugh* - yeah, job security is great stuff! My uncle's 60 and a COBOL programmer who has reached the end of his shelf-life. :( I've personally seen what the end of the road looks like and it ain't pretty.

That said, I agree - Perl isn't for everything. Device drivers, firmware and low-level foundational pieces aside, when you're faced with an algorithm problem, you should be able to use the language you're most familiar with.

For example, I took a look at the first practice room problem in TopCoder, which is a decoding problem where (roughly) you have to decrement each digit in a string. That's the challenge and to solve it, I immediately think in Perl, where I may split the string and decrement each digit and then join it at the end. However, I can't do that in Perl at TopCoder - just C#, C++, Java or VB. Why not Perl? That's my point - there's no technical reason why Perl shouldn't be available to solve that type of problem (esp. if people are throwing VB at it ;)).

These may look like slights now, but these type of examples build until eventually Perl is no longer available anywhere.

It's not a problem of learning new languages/technology, at least not now. But when we get older, we get more set in our ways (Why do you think advertisers target 18-34 year olds? They want to lock you in before you get set) and learning a new language at that point may be harder than you may think. Guess this is a good point to tell my future self to be more flexible and willing to learn new stuff! ;)

Peace,

Jason

Re:Evangelism?

Purdy on 2006-10-10T17:15:11

Posted too quickly ;)

These may look like slights now, but these type of examples build until eventually Perl is no longer available anywhere.

Disclaimer: Yeah, that's fatalistic and should be taken w/ a grain of salt. ;)

Perl needs less religious imagery

jhi on 2006-10-11T08:56:21

See Subject.

Re:Perl needs less religious imagery

Aristotle on 2006-10-11T11:20:47

“Evangelism” is a very ordinary and common marketing term and doesn’t really have any religious overtone in that context anymore, if it ever did. It literally means “bringing good news” so it’s not hard to imagine why the marketeers appropriated it back.

The boy's article

muba on 2007-01-24T20:59:15

Too bad the boy's article is no longer there. Anyone knows of a mirror?

Re:The boy's article

Purdy on 2007-01-24T21:11:19

Google cache