All the Perl that's Practical to Extract and Report

Navigation

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Without JavaScript enabled, you might want to
use the classic discussion system instead. If you login, you can remember this preference.

Please Log In to Continue

An OSCon or two ago, I was talking to a manager at a prominent open source company. He was very aware of the power of Perl and the capabilities of Perl hackers. I asked him under what circumstances he'd hire Perl developers, and if there were any stumbling blocks, what they were.For one-off kinds of projects, he said he'd be hesitant to hire Perl programmers to build something. Part of it is the hiring risk that your brother speaks about, but his perspective was from a risk mitigation perspective. After

It's not just managers. Far from that. There are many knowledgable people who won't touch Perl with a 10 foot pole. Very good programmers. And they are right, Perl isn't their thing.

It's not just perception. The problems people see with Perl are real. Perl is a handy tool. Multipurpose. But it's also difficult to handle, it's dangerous, and it has a lot of quircks. It's not for everyone. In fact, it's not the right language of many people currently using Perl. If I look at Perlmonks or Usenet, I'd say th

Why do you think, so many programmers shouldn't program Perl? Many of them started with an other programming language (may be Java) and now start to learn Perl. May be they have to solve a problem that can be solved with Perl in a better way than the solution written in Java would be.

I noticed that more and more discussions about the future of Perl start. I think, that Perl can get in trouble, because outstanding people have a false perception of Perl.

Why do you think, so many programmers shouldn't program Perl? Many of them started with an other programming language (may be Java) and now start to learn Perl. May be they have to solve a problem that can be solved with Perl in a better way than the solution written in Java would be.

The problem is that you cannot infer any general rules here. Sure, some people come to Perl from another language, and have learned the fundementals first. Others come to Perl as their first language, with or without an

But I think, that "advertising" or "marketing" can help to avoid misunderstandings. "Advertising" is not the solution on its own, but it is a part of it.

My sense of Advertising is not to run to everybody and say "Perl is the Best, you shouldn't use anything else", but to show what Perl is good for. And that Perl programs can be as "clean" and "maintainable" as programs in other programming languages.

Why do you think, so many programmers shouldn't program Perl? Many of them started with an other programming language (may be Java) and now start to learn Perl. May be they have to solve a problem that can be solved with Perl in a better way than the solution written in Java would be.

The mistake you are making here is that you assume that it's that problem that makes a language suitable. And while the problem plays some role in picking the right language, the programmer is far more important.

The situation with Java comes down to one thing. Protection before execution.Java has a simple structure, it's easy to parse. So the editors and toolchain can be made SO much more rich for Java than for Perl.

Then do extra checks at compile time, that we can't do.

They have the equivalent of strict and warnings on by default.

All of these checks are aimed at weeding out evil as early as possible, and managing it when it happens (exceptions).

Of course you can write evil at the level above where the toolchain ca

The situation with Java comes down to one thing. Protection before execution.

Don't forget lackluster abstraction possibilities, a huge standard library, the mad rush to standardize on One Giant API To Do Things, and programming, configuration, and deployment mechanisms that emphasize Lots of Little Fiddly Bits.

The amount of damage you can do has some correlation to the amount of productivity you can achieve.

(There's probably a more profound point related to the idea that there are very few system

Don't forget lackluster abstraction possibilities, a huge standard library, the mad rush to standardize on One Giant API To Do Things...

And that's perhaps part of the reason why many seem to prefer Java. Yes, it can shackle programmer creativity, but then, it's harder to hang oneself while wearing shackles. If this analogy is valid, then it suggests that it really is safer for some (not all!) companies to pull the average Java programmer off the street instead of the average Perl programmer.

Certainly not, but any perception program ought to be realistic about features of Perl as compared to other languages.

People criticize Perl for allowing people to write quick one-offs, yet that's an explicit design goal of the language! If people can do that productively, maybe Perl's easy to learn, especially for non-programmers. If Perl's easy to learn, maybe finding decent Perl programmers isn't as hard as it seems -- if y

[I]f you can find a decent programmer, he can learn Perl without too much trouble.

Somehow, I doubt that. I don't have any evidence as to why that would be false, but in my experience, that's not as true as it would seem.

Python, too, was designed to be easy to learn. And it seems that any decent programmer who tries to learn Python does. But Perl seems to evoke a viseral sense of distaste in many capable programmers. Python and Ruby, as languages of a similar vintage, do not engender that reacti

Every line of code you don't have to write is a line of code you don't have to debug or maintain.

Yeah, but that doesn't say anything. Lines of codes is a non-measurement. It doesn't anything. You might as well argue that NASA is a simple shop as they only have a two vehicles to maintain - much less maintainance than the farm with five wheelbarrows.

A single complex line of code can be much harder to debug (and maintain) than five simple ones.

Don't forget lackluster abstraction possibilities, a huge standard library, the mad rush to standardize on One Giant API To Do Things, and programming, configuration, and deployment mechanisms that emphasize Lots of Little Fiddly Bits.

The key isn't to live in what Brian Eno would call the "small here" or the "short now". Computing is an evolving story, and what we've seen so far is just the opening chapters.

If you look back 20 years, microcomputers were a stifling platform, because of their anemic

> Another way to look at it is that Java is solving a problem> of managers who would rather reduce risk at the expense of> increased power and productivity.That's a very negative way of looking at the problem.

One thing managers are used working with that we aren't so much is the element of Trust as a malleable entity.

When you work alone, or in small teams, you can learn a lot about people, and trust isn't a big issue.

When you have big teams of people, or work with dozens of outsources, then you sim

Not at all. It's the engineer's lament that the best solution frequently doesn't win. This is just a case where superior technology (e.g. Perl) is loses out to an inferior technology (e.g. Java).

Trust is a significant part of the social issue here, and it's not something that open source can generally solve on its own. Linux and MySQL are thriving in large part because of the corporate umbrella provided by RedHat (et. al.) and MySQL AB that ma

Right now it's merely an attempt to get an idea of how to proceed. There are two types of folks I'm thinking about. Those who can commit to actually doing stuff to help out and those who don't have a lot of free time but are knowledgeable enough that their comments/suggestions are valuable.