Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I know Perl is a language revered by many hackers (as in hacker vs cracker) and respected by many good programmers for its expressiveness. I also realize it is useful to know and it's very handy at generalizing common Unix tasks (Unix here includes Linux and Cygwin). I also know that being a good hacker probably means you're a good programmer in general (references on this one are sparse around the web, but about everything Paul Graham has ever written seems approving of this statement to me). So my question is whether there is a reason that attracts hackers to Perl in particular? Will learing Perl improve my general programming, problem-solving and hacking skills if done properly? Does it present unique tools that are more useful to a hacker?

share|improve this question
I'd really appreciate if the downvoter (or anyone else) would give advice for improving the question. I'm not trying to be picky here, just constructive. –  K.Steff Jul 1 '12 at 22:30
I'm not the downvoter but it's not something that can be answered. Perl will surely make you think about what you are doing and most important, it's culture. Read about Larry Wall or perlmonks and you'll see. –  alfa64 Jul 1 '12 at 22:57
I'm pretty sure you're talking about the "ability to hack something together", but "hacking into another computer" is used just as often and this question's usage of "hacking" and "hackers" is ambiguous, and will net you some very different answers. I would guess that's where the -1 came from. –  Izkata Jul 2 '12 at 0:04
@alfa64 I disagree, I think there is an answer to this question and it is a perfectly fair one. –  maple_shaft Jul 2 '12 at 2:05
I can't think of a way to answer this that isn't horribly rude, so I'll just comment that I question the basic premise -- in fact, I'd consider hating Perl almost a prerequisite to having any hope of ever becoming a good programmer. To paraphrase slightly, Perl isn't nearly as much a language as a collection of crufty hacks flying in close formation. –  Jerry Coffin Jul 2 '12 at 6:13
add comment

closed as not a real question by Jarrod Roberson, Jim G., Robert Harvey, gnat, ChrisF Jul 2 '12 at 10:44

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

up vote 5 down vote accepted

Learning any new language will improve your "general programming, problem-solving and hacking skills". Every programming language approaches problems in a different way, according to the mindset and intent of the language designer(s). Some languages are much more similar to each other than others. Many languages are grouped into "paradigms" such as "object-oriented", "procedural", "functional", etc. Perl is mostly procedural, with a sprinkling of object-oriented and functional.

There's nothing wrong with learning Perl to improve your general programming skills, but in my opinion there's nothing about Perl that makes it particularly good for that purpose, either.

share|improve this answer
I realize that, but there's an uncanny number of hackers that consider Perl as the Holy Grail. Is there something behind that? –  K.Steff Jul 2 '12 at 0:02
Those "hackers" need to get out more. Call yourself a language hacker when you've mastered Haskell, K, Scheme, and Forth. –  Greg Hewgill Jul 2 '12 at 0:08
I think the love for Perl among hackers of a certain era has more to do with it being the first truly powerful scripting language rather than features of the language itself. At the time that Linux really took off, the serious options on those platforms were C/C++, Bash and Perl. If you wanted to do something complex quickly, Perl was yur best bet. –  Steven Burnap Jul 2 '12 at 0:27
I very much agree with Steven, in this age they could just as well have gravitated towards Python, Ruby or a wide range of other powerful languages. But Perl was kind-of unique in that had the usability of a scripting language and you could still do "real work" with it. Luckily, it is no longer unique in this aspect. –  Joachim Sauer Jul 2 '12 at 7:00
@GregHewgill plus some more. One would be PostScript so you can debug your printer driver. –  user1249 Jul 2 '12 at 7:57
show 2 more comments

Perl is an incredibly powerful tool (especially for massaging text files) for smaller applications which is already or very easily made available on any Unix-platform. Hence those working on Unix-platforms tended to have it as one of the powertools in their toolbox and made it do very interesting things.

One of the things characterizing Perl is that there is usually more than one way to do things and you can choose the one which most closely reflect your way of thinking. This makes it a very nice tool to use.

Unfortunately, as Perl is a language which has grown into what it is, the redesign into Perl 6 has essentially been vaporware the last 10 years. This has caused Perl to loose a lot of adoption, but I do not think the Perl community cares - they just want to have fun.

share|improve this answer
While Perl no longer gets a lot of buzz, there's still plenty of it that's been quietly doing its job for many years. The oldest Perl script in my bag of tricks that still gets used was last modified in 1994; I have another that's been run out of a cron job every five minutes continuously since 1998. –  Blrfl Jul 2 '12 at 10:38
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.