or with arguing and arguing and arguing - only to see that most of the undoubtedly brilliant and intelligent Perl guys have a total blind spot when it comes to thinking outside of the technical domain.

You can try it with shock therapy in the hope some of the totally blind (and deaf) will awaken. Your success rate will be far from 100% however, because you underestimate the "blindness" and thinking in the box. Or - as I heard recently - being in the "echo chamber".

You will hear FUD - just the inverse way. Like "Python users are so asocial, they do not even manage to have workshops." ... or "TIOBE is flawed". YES! IT IS! But the bright guys who completely clearly brightly intelligently and logically explain to you why it is flawed, completely totally and ultimately tragically fail to see the point that "TIOBE is relevant". If someone dares to challenge me on that point, I will gladly accept.

You can try to throw in more facts to wake some people up and show them that their language is perishing and why that is so and - more important - what can be done about it. Google trends for Perl and e.g. Python, other "popularity indices" (no you will not find Perl in there), module count, number of job postings, number of books sold/written/available. But even that will awaken 1-2% at most. The rest is pretty ok with sleeping or simply does not care.

Then you can create a Propaganda.pm group and gather some people who've already awakened around you. Will that be enough to awaken everyone else? Most certainly no.

You can fight "wars" in other areas that are the tipping points. And ask the Perl community for help. In their own best interest. Will they listen? Will they wake up? You should not bet on it.

You can rant about the situation

I just found out, that the Perl community is a bunch of lethargic
old-farts who deserve no better than "their language" to persish. ...
Hmm. No that would not make a good motivational entry. I will have to
reformulate this in a more euphemistic fashion while keeping the
meaning untouched.

Welcome to the world of the real ;-)
unfortunately I've had that opinion for a while, and it's very hard
to get anyone to do anything seriously positive, in part because of
all the brown-nosing in the [despite anonymous quote this has to be
censored]... People like Gabor (and you) still try to make a
difference, but it's like pushing water uphill.

You should never awake sleeping dragons - they say. I really would
like this dragon to be awakened, but am afraid, that it's just a wall
lizard. But I'll keep on making noise. We'll see if I get spit fire
upon or eaten or if the dragon agrees to go out for a ride.

You can try it with shock therapy in the hope some of the totally blind (and deaf) will awaken.

Because nothing works better than insulting the people who disagree with you! Forget listening to them and considering what they say; your best option is to berate them! They disagree with you—of course they're wrong! They probably don't even have reasons for their thoughts!

TIOBE is relevant

What leads you to believe that the people who believe things like TIOBE are interested in measurable facts instead of feel-good woo?

What leads you to believe that the people who believe things like TIOBE are interested in measurable facts instead of feel-good woo?

Well I think because people who think TIOBE is right are in large numbers. Now regardless what TIOBE actually is, that's irrelevant to what it is perceived by majority of the programmers/business guys alike

When they say something is wrong with Perl or that its usage is going down, people believe them. You may not agree, but when such large number of people believe in it, the damage is already done.

I originally learned php before finding perl. I had a need to create a database driven website and everywhere I turned everything screamed php, there was barely a mention of perl.

Now as a young programmer just out of university which language was I going to choose, the obscure language that nobody talks about or the one everyone shouts about.

That was many years ago and I of course realise now how much of a mistake I made. I have to wonder how many people make this same decision every year.

Before anyone says that I found my way to perl anyway so there is no need to promote perl, the only reason I did was that I grabbed the first low paid tech support job I could and that company happened to use perl. As the number of perl programmers goes down the amount of companies using it goes down which will reduce the number of people learning perl in this way and the cycle continues.

I don't believe perl will die if we do nothing, however I do think there is a risk of going the way of cobol.

I think one of the problems facing the people who are trying to wake the community is that they are talking to people who a focused on programming whereas what are needed are people willing to do marketing and promotion. These are things not everyone is interested in or good at and I think probably slightly off topic for any of the main perl sites.

My thought is perl needs a new site/group dedicated solely to promoting perl to new programmers and users of other languages. A place where marketing and popularity issues can be dealt with without annoying people who have no interest in these dirty subjects. A place where how to improve TIOBE position can be discussed without it descending into the same arguments we have all heard time and time again about its irrelevance. We all know its a meaningless statistic but a lot of people do not and I think we have to accept that.

If we can get all people interested in this side of perl promotion working together on a single goal then perhaps we can achieve something. To stretch your dragons metaphor, the trick is not waking the dragons, it is finding the right group of dwarves and a key

This is just my little story of how I started with the wrong language and my opinions on perceptions of perl. Sorry to ramble on.

My thought is perl needs a new site/group dedicated solely to promoting perl to new programmers and users of other languages.

Sure, blogging about and creating sites about Perl might increase its visibility a little. But my personal feeling is that this is a battle that needs to be won at the grass roots of each local community where there exists a handful of Perl enthusiasts. Start a Perl Mongers group (or join a nearby one). Come up with compelling presentations; some should target the pros, and others should target newcomers. Get everyone you can involved -- developers, students, hobbyists, sysadmins, peripherally related individuals, anyone who will attend. Hold regular meetings. Encourage attendees to present on any topic that they find interesting, that can somehow be related back to Perl. Encourage attendees to bring a friend.

Also look outwardly. Plack exists because Miyagawa wasn't afraid to learn from outside of the Perl community. But Plack arguably brings a modern relevancy back to Perl with respect to the domain that it addresses. So find ways to learn what makes other languages relevant, and bring that to Perl. Find things that make Perl relevant, and teach users of other languages. This open minded sharing benefits everyone, and keeps Perl fresh.

Also look outwardly. Plack exists because Miyagawa wasn't afraid to learn from outside of the Perl community

come now, the perl community has been looking outwardly since TheLarry created perl

Plack exists because Miyagawa got paid to create Plack -- yes he got inspired by the prior art like we all do (and there is no reason to throw away bits that already worked), but it got created because someone put up the cash/time to fill a real-world need, and not as some kind of fear destroying marketing ploy

COBOL? Not so fast. Do you know how many millions of lines of COBOL are in-service right now ... doing exactly what they were built to do, millions of times an hour, on big-iron machines that are specifically engineered to (among other things) support them? Or how much what-they-do is worth?

Yes I am well aware of cobol usage which was exactly my point. Cobol is still in use, in other words it has not died. However their are serious problems with finding new developers willing to learn it as older developers retire. This is a situation which I see could occur in perl without a constant influx of new young talent.

the point that "TIOBE is relevant". If someone dares to challenge me on that point, I will gladly accept.

I'd challenge you on that point, if I wasn't so weary of this whole discussion.

You can try to throw in more facts to wake some people up and show them that their language is perishing and why that is so and - more important - what can be done about it.

So, what can be done about it? I think that's the real culprit. Perl 5 is very tight spot. On the one hand there is a huge cultural obligation to remain backwards compatible, and on the other the dire need to evolve.

You can't have it both ways. People claim you can, but experience shows that there have been few or none major (and with "major" I really mean major, like subroutine signatures, a MOP, a JIT compiler, a working implementation of threads, something of that scale) new features in Perl 5 in that last years.

Maybe it is theoretically possible, but it is so much effort that only a very, very small group of people feels qualified and dedicated enough to approach such problems.

So there are basically two options left: those that want to only improve Perl 5 in small, backwards compatible steps, and those that embrace solutions that break backwards compatiblity (mostly that means Perl 6, and recently Moe). And both of these options are scary in their own rights.

So once you realize how bleak Perl 5's position is, it is easy to see why parts of the Perl community don't want to be woken, as you'd put it. Because the realization is painful.

And then you also know how to wake the community: propose a plan of action that actually improves the core of the situation. Not by talking about marketing, not by mentioning TIOBE, but by proposing a solution to Perl 5's core dilemma.

What can we do about large enterprises who's Architecture Board has decreed that the allowable version of Perl is the one that Red Hat ships with RHEL?
Which, as far as I can tell, on the machines to which I have access, is 5.8 and 5.10.

After reading the whole discussion, I've noticed some well argumented comments, but the main question looks like is still far from being clearly resolved ..

I'm not going to redefine the whole topic, just want to express my main thought - I simply don't believe that Perl is appreciated as it should be. Perl is an living example of a good thing that came from an enormous amount of work and passion (and everything that comes from it) within it's community, but I'm not sure that this is visible from the rest of the "Internet world".

I'll try to back this up with my personal experience - I started using Perl a couple years ago, after I finished my college education and got hired. Until then I didn't even hear of if, not even in a few college classes that involved some programming tasks (I'm not a programmer by default, but that's not the reason why someone should say "hey, thats a usefull thing to know, look it up"). I believe that I was simply lucky (it's not just a phrase, I really think that) that my job involved working in an environment that used (and is still using, and will continue) Perl as a tool for doing a hell a lot of varius things (ranging from development, dirty hacks, sysadmin, etc.). I became aware of the community that is behind of this excellent tool and occasinally bumped my head because I didn't discover it earlier. Why? - I grew up "online", searched the Internet for good/usefull/interesting things, apps, etc., but I simply missed to see it's relevance (maybe it was just my dissability to notice great things, I'll never know :))

So, just wanted to say that maybe it's time to give this Internet marketing thing a second (or third, forth, ..) thought. The Internet is changing, online communities are developing in a varius ways (some good, some bad ;)). Perl community has several good websites/resources, but I' believe that a central (maintained) community dashboard (webpage, blog, call it whatever you like) with simple informations like up to date news, links to usefull resources, future strategies, plans, etc. would be usefull to attract new users, help the current ones to stay in touch and promote Perl as well (for example, I really like Gabor's PerlWeekly news roundup, a nice thing to get an overview of some current happenings) ..

Anyway, this is just my personal point of view, so please don't be offended by anything. To sum it up - Perl is a great tool, with a great community which should be noticed and appreciated as it deservers ..

May I ask ... are you trying to be professional, or merely provocative?

At the moment, I am responsible for one client system in Python, two client systems in PHP, and one in Java ... with a couple of Perl clients currently-happy and requiring no work right now. Over the past three decades, I’ve done extensive work in about two dozen languages. I don’t think about it much anymore: I have a hat-rack and change hats all day long.

Therefore, I think I am missing your point here. Programming languages are tools. Any comment made about the relevance of an index should be taken as relevant and considered, even if you don’t see why. And so on. Many folks from time to time “see the light” about whatever-it- is-today language, this “light-bulb” being that every other language (and every old-phart who dares to profess knowledge of it) must be C7007355. Hang around this biz long enough and, I assure you, you will see this very thing many dozens of times. (Especially if there is a University nearby.)

You merely stir up a tempest in a tea-pot, and to what end? There are many languages in my tool-box. During the course of any given week, I flip at-will between several. And so does, I daresay, everybody else here (or anywhere).

Yes we are in trouble, and we have been for a long time now. The only thing is the screaming is reduced. If you were to go back a few years, the "Perl is dead" screaming was a lot louder than it is now. I believe that's because a degree of irrelevance is slowly beginning to take over us. We are getting irrelevant.

There is little point in living in denial.

Though Perl is still by and large a very helpful tool to get things done(of a different kind). Most people don't use it to solve the in-demand problems of our time(Read: Concurrency, Web framework stuff, asynchronous IO, scientific programming, teaching courses etc). People believe regular expressions, file operations are solved problems(And guess what in many ways they are). And your usual Unix glue ammunition comes with every other language these days. To add to other problems, integrating with OS ise a worry of the past. These days running on many VM's is vastly more important than integrating with a OS like Unix.

Apart from general small time scripting work, we are no longer relevant to the larger programming problems of our time. To do anything useful with OO we need something external like Moose, forget that- even to do something as simple as function signatures or say exception handling we need CPAN modules. No sane software shop is going to use a external library to do simple OO, function calls and exception handling. And this doesn't even begin to describe what is wrong with our language.

Yes you can argue that a language like Java needs frameworks to do most work, but hey! they don't need libraries to work with basic syntax. I hope you understand, we are having some very basic problems here.

Talk to p5p guys and they will tell you they have their own pains. They have to maintain backwards compatibility with a code base 25 years old, and a code base maintaining which requires heroic efforts. And beyond all this, adding new syntax sugar makes the TIMTOWDI problem only worse. In short 'we are screwed if we do and screwed if we dont'.

Come to CPAN, a while back it had no competition. Now every other language has their own CPAN. And lets be frank if you really want to find something on CPAN, you are likely to face a problem of plentiful options

We are long past the stage of having to wake up people. We are in a stage where we have to figure out how to slow down being irrelevant, then stop being irrelevant and some how find a way of bringing back lost users.

There have been attempts in the past to make this happen. Chromatic wrote a wonderful book, Stevan little has a new project called 'Moe', Schwern started 'Perl5i'. Pugs, Ponie... Have all been there..

The fundamental problem remains, we haven't solved any basic problems and we have nothing new to offer for years now.

Perl 6 is the only hope. And we must hope they get some production ready stuff out in a year or two. Before you pounce on me and ask what exactly is production ready and how it varies from person to person. I would like to tell you lets not indulge into this semantic play of words. The whole world has a definition for production ready, which is really spec completeness, no dead-on-arrival bugs, a standard library and documentation. You can argue that a beef steak is ready for consumption even when the cow is alive depending on whether a lion or a human eats it- and thereby the beef steak was production ready when the cow was alive. But hey, a person ordering a beef steak at the hotel expects it to be as he eats it at other hotels.

Perl 6 is the only hope. And we must hope they get some production ready stuff out in a year or two.

If that's true, we should give up, because Perl 6 currently lacks answers even in spec form for "Concurrency, Web framework stuff, asynchronous IO, scientific programming, teaching courses etc", and of the three extant implementations, one has been effectively abandoned for several years, one has been abandoned by its primary author, and the other is in the middle of a rewrite away from a dead platform to another platform.

... and we have nothing new to offer for years now.

I don't know about that. I'd like to have function signatures and a MOP in the core, but the fact that Perl 5 gets Unicode right enough (okay, I'd like a more efficient way to load property tables, but encoding, normalization, and folding just work), that I can use Moose's MOP to make our code simpler and easier to use, and that our tests are efficient and effective lets us get a lot of work done that we'd struggle to do as quickly or correctly in another language.

I can't think of the last time we had a problem with Perl; our problems are "We have more work than people to do it", "Tuning databases for complex data sets is hard", "User data is messy", "Nobody has really solved deployment well yet", and "Our stakeholders don't really know what they want until we show them proofs of concept."

My point was not that we need stuff like Concurrency or an Asynchronous IO in the Perl 6 spec itself(As far as I know they are already a part of the Perl 6 spec). My point was that, for a framework to be written in Perl 6 to do <anything> no one currently considers it to be a stable, feature complete platform. Do we seriously expect somebody even at a Perl heavy shop like Amazon to take Perl 6 and build some API out of it?

Who then in real sense will use Perl 6 to solve some hard pressing problems developers/businesses face now?

You can say that from a certain semantic perspective production readiness is not the same for every one. But in such things, and things like stability- You measure stability by what is needed in the common cases and build it from there. And not for the lowest case.

Besides arguing about such things becomes irritating over a while. Its like what I wrote earlier about the beef steak. Will you at a restaurant accept, if raw uncooked meat is served and the waiter argues its ready for to be eaten from the perspective of a lion? Rather the definition steak as per you will be the most 'common cases' of steak(which is well cooked meat, added the recipe). You might still be OK if it is served without a little mint garnish. But you will at least expect to be cooked.

The need of the hour is to put all the energies in ensuring Rakudo can be spec complete, stable, with libraries and documentation ON ATLEAST ONE VM. Yet how many rewrites have we seen? How many different parallel half done attempts to run it on multiple platforms? How many abandoned projects? Pugs, Rakudo, Niecza, Ponie, Moe? .. and how many more?

As I said before, people might still accept the steak without garnishing. But expect it to be cooked. We need at least one spec complete, no-dead-on-arrival bugs, with libraries and documentation Perl 6 implementation. Frankly no one cares about running Perl 6 to two or more VM's in the very first production release. Every body understands such a demand is unrealistic. We can take all the time in the world to have run on multiple VM's once we do it right and complete on at least one VM. Python/Ruby have all done that. They have one solid complete thing, and then they have PyPy, IronPython etc.