Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

What can bring the excitement back to Perl?

by zby (Vicar)
on Mar 25, 2008 at 08:58 UTC ( #676072=perlmeditation: print w/ replies, xml ) Need Help??

I guess this is a good poll idea - but first we need to gather all the options.

Stats show that Perl is not dead and has still strong presence everywhere. But I am sure that everyone noticed that it has lost the place in public imagination. It does not inspire people (as Ruby with RoR or PHP with Drupald and Mediawiki do) any more.

So what do you think can bring back the excitement into Perl?

Here is a list of things (that are very exciting to me personally) but which in my opinion will not be exciting outside of Perl community:

  • Catalyst? I don't think so. It is great - flexible and all, but it is just another MVC framework.
  • DBIx::Class (and RDBO)? Very nice and perhaps the most powerful of all Open Source ORMs - but again - nothing new
  • Moose? Yeah - this might be exciting inside our Perl world, but outside?
  • Jifty? I don't know much about that one - but see Catalyst above.
And what can do that?
  • Perl 6 - obviously. Just when?
  • CPAN and the ecosystem around it. CPAN has been here for more than a decade, but it is only recently that we noticed problems with it's scale and started to do something about that. And this massive scale is something really new in OS code libraries.
What are your types?

Update: And what really makes the mentioned Drupal and RoR libraries exciting? With Drupal non-programmers can set up a quite complex community site on their own, without hiring expensive programmers. Paradoxically this creates also a big market for PHP programmers who later are hired to add new features to the already working community sites. With RoR it is the other way around - it let's a lonely programmer create a nice looking web application without hiring designers. This independence in both cases is quite a breakthrough and creates excitement and buzz.

The question why we need buzz for Perl I'll leave unanswered for now.

Comment on What can bring the excitement back to Perl?
Re: What can bring the excitement back to Perl?
by moritz (Cardinal) on Mar 25, 2008 at 09:18 UTC
    I think this question is usually phrased "What's the killer application?" (or similar).

    I'm not following perl since the old days of perl 1.0 so my impression could be wrong, but I never thought of perl having one specific killer app.

    CPAN is one, of course, but it's not the thing that really attracts people and that causes a hype.

    But do we really need one? Do we want people to think "Perl? Isn't that the langue you're forced to use if you want $CoolTool?"?

    I'd also like to know what happens to a language when its killer application loses popularity - any experiences here?

    (BTW perl has many "killer features" like regexes and hashes - but other languages have them as well. Perl 6 will bring many more "killer features" like grammars and junctions.)

      ... I never thought of perl having one specific killer app.

      In the mid 90's or so, CGI was the killer application. If you wanted dynamic content on the web, CGI was The Way to do it, and Perl was The Way to do CGI.

      CPAN is one, of course, but it's not the thing that really attracts people and that causes a hype.

      It got me :P I kept hearing everyone talk about CPAN and was like "maybe I better learn this language and see what this CPAN thing is about"


      I'm a peripheral visionary... I can see into the future, but just way off to the side.

        widely popular page like this for Python -- whenever I need to do anything, I just go there (or its local copy) to find what I need. I don't know whether there is anywhere similar page for Perl, but I would love to have a set of "known to be good" libraries -- ONE for each purpose. Where is it?
Re: What can bring the excitement back to Perl?
by Anonymous Monk on Mar 25, 2008 at 09:36 UTC
    official directed effort
    an advertising budget
    hookers
Re: What can bring the excitement back to Perl?
by rudder (Scribe) on Mar 25, 2008 at 10:02 UTC

    IMO, Perl 5 doesn't need any excitement brought to it. Perl 5 seems basically busy just doing its job, which it does very nicely, and which it has been doing for quite some time.

    Perl 6 is where the excitement is, again, IMO.

    Recently I was talking to someone about language choice, and they asked what I thought about (in this case) Python and Ruby. I replied that I liked them, that I thought they had some cool features and strong points, but in the end I just wanted to get some given job done, and so, used Perl. No flash or glitz, just Perl doing what it always does.

      Perl 5 doesn't need excitement brought to it, but it could use more attention brought to it.

      Perl 5 is busy doing its job, but looking elsewhere on the internet gives one the impression that many don't understand the scope of that job. The job is getting done better and faster, with greater support for writing manageable code while maintaining the ability to "Just Get the Job Done (tm)."

      I think this is one bad facet of most of the Perl community: it is highly insular. I can come to PerlMonks and read all sorts of neat things about Perl, but that's preaching to the choir. I'm already converted. But potential converts are not hearing the message or, worse, they are hearing the wrong message: that Perl is line-noise, an unmaintainable mess.

      It's not enough to just create a great product, you have to tell people about it. And since the Perl community IS Perl, it is up to us to be more vocal outside the community about how good a fit Perl is for ourselves and our work.

        We should have a star "blogger" (I hate that word, but it's the one to use I guess) that talks about Perl and the exciting things going on with development and in the community.

        The problem is that we'd have to have a way to get people to read the blog. That means referring them from places where other languages have the excitement currently.

        So many other bloggers use their blogs (some even running Perl-based software!) to show what they think are the better-than-sliced-bread features of other languages, all the while playing Perl5 down as a has-been. That's a lot to overcome in that arena. Yet, it's where the buzz for other languages is. From Ruby (37signals) to Python (ESR, among others), to Arc (Paul Graham), people hear great things about languages from the people they admire. They then take that as the truth.

        chromatic and a few others are evangelizing Perl6 already on places like http://lambda-the-ultimate.org. There seems to be some interest in Perl6 even from such academic corners. However, among the people who discuss differences among languages as an academic exercise or as a hobby, the consensus seems to be that Perl6's strengths have a lot of negatives from Perl5 to overcome. The course of action I see these people taking towards Perl6 is to consider it a Lisp with a strong community of "those imperative programming people" writing useful libraries. They'll turn their noses up at our idioms, and the other people in their functional circles will snicker at them for using a language that can be functional but doesn't enforce that. Getting a few more world-class functional programmers interested in Perl6 isn't a bad thing, but this isn't the core of converts as I see things.

        The people who are really going to need to flock to Perl6 if anyone is are going to be other dynamic language folks. Ruby and Python aren't the only ones. Languages from JavaScript to Rebol and HaXe to Lua are the target audience for Perl6.

        The question when you want to evangelize Perl5 is, "Who does Perl5 help do things the way they are already doing them, but better?". C programmers are one, obviously. People using Rexx, awk, sed, bash, and a thousand other pre-Perl5 languages have largely already moved to Perl. Sure, people still use C when Perl's not appropriate and C is. Some things are just simpler and much lighter-weight in a shell. I for one haven't touched awk, sed, or Rexx since learning Perl, though.

        One of the biggest complaints against Perl seems to be its quirky OO system. If Moose is what lets people writing in Python or Ruby write clear OO code faster and easier with better maintainability and decent performance, then push Moose. Don't push Perl5 to people who have been indoctrinated that their language is better, specifically, than Perl5. Push what is new and powerful that addresses the negatives they've heard about Perl5. Hell, call the language Moose when you evangelize about it. Don't tell them it's Perl5 with a bag on the side. Tell people it's a Perl-descended language that sits on top of Perl5 as an implementation detail, and that future Perls will be using a similar object system. Either description could be considered equally valid from the proper point of view, but I know which one would sound better if I'd been indoctrinated against Perl5.

Re: What can bring the excitement back to Perl?
by tinita (Parson) on Mar 25, 2008 at 10:32 UTC

    a note about CPAN: what i think is important for the future is to centralize it. At the moment you have PAUSE for your account to upload modules, you have an account for the request tracker, an account for the discussion forum, an account for annocpan, an account for gravatar.com, an account for the ratings (oh wait, this is the same as the rt-account, isn't it?), ...

    what i also miss is the source for the various cpan-sites. if it has scaling problems people might want to have a look at the sources and maybe make suggestions.

      I totally agree with you that it needs a single sign on (maybe CPAN could provide an OpenId account?) - but I don't think that requires centralisation.

      And talking about the scaling problems. What I had in mind was not problems on the infrastructure layer - the technology should work OK with even much bigger repository - but rather things like: the dependency problems, difficulty of finding the right module and duplication of modules making it confusing for newcomers and aggravating the other issues.

        It could provide, or just simply have support baked in. Either way, it would beat having multiple logins for the same site.
        I totally agree with you that it needs a single sign on (maybe CPAN could provide an OpenId account?) - but I don't think that requires centralisation.

        well, if you have a module on CPAN, you'll get emails directly to your cpan address, you will get emails from RT (people even post bug reports on annocpan where they don't belong), to check out the ratings you have to check out the web page, to check out the discussion forum you have to check the web page (or subscribe to get postings per email? haven't tried it out), to get the latest tests you subscribe to an RSS feed (this is something i like).

        there is no pointer to how to set up a gravatar (mine has worked for a couple of days before it vanished, and i don't know why).

        don't get me wrong, it's nice that there are many tools but there are kind of thrown together, and with gravatar as an example, poorly documented (in the orignal posting on perlbuzz it says 'create a gravatar-account with your cpan-address'. which one? the private or public address? i had to try out both. where can i ask?)

      There was an attempt at single sign-on using Bitcard, but it hasn't covered all services yet. Maybe it needs to be extended.

      CPAN could definitely be more user-friendly. I came to it as a complete newbie to programming and was overwhelmed at first, it was absolutely imperative for me to glean as much wisdom from perlmonks as possible. But is that the best way to go about things if you're trying to attract users? I still have to dig through perlmonks to find the appropriate module for some specific task X, and then test out a bunch before I settle on one I can manage fairly easily.

      I have read from someone here before that CPAN shouldn't be changed to accommodate users like myself since that would favor the older, popular, and (perhaps, perhaps not) more inferior modules. But why is this such a Bad Thing? It seems the Perl community is deathly afraid of any action that may stifle innovation. But to me there's obvious parallels elsewhere in the open source world, and I think Firefox's extensions is one such thing (see here). You have a compact front page with links to search and popular extensions as well as major categories. Individual extension pages have short snippets explaining the major functions of the extension. I install with a mouse-click on a big green button. Extensive documentation is several clicks away. The rating system is widely used (let's be honest - CPAN's is somewhat worthless). With this setup I don't have to go mucking about tech blogs to find extensions that I like and use on a daily basis.

      Aside from being ignorant, my other problem is being a Windows user (a fatal combination, I know). Installing modules is can be somewhat of a pain for me if I can't use ppm, and then ActiveState's repository is rather poor on updating (even with widely-used modules) so I have to go fishing for repositories that do update if I want to be able to install an updated module easily. Otherwise I have to go get some Microsoft executable and change something else (obviously I haven't figured that one out).

      All that whining aside, I love Perl and the ease with which I can do any number of things with little effort. It has been a joy to learn and the community is really what keeps it viable. It would be nice, even from my perspective, if it didn't have to rely on it so much though.

        It is such a "Bad Thing" because it would reduce the power of CPAN. The community feels very strongly that what we have definitely needs to stick around.

        BUT . . . it doesn't have to be the only thing. If you want to set up an easier way to find and install modules, go right ahead! In fact, if you're willing to put in some work, I'm pretty sure Andreas would love to have help with CPAN. I've discussed some things with him in the past and he's a great guy to work with. Just talking about it doesn't help anybody. Go ahead and do it. Just make sure it's compatible and life is good.

        As for Win32, check out Strawberry Perl.


        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
        It's a common misconception what CPAN is. CPAN is a distributed archive where users may store perl-related resources for public use. Additionaly there's a little bit of infrastructure around it (a permission system for module namespaces etc.)

        Anything else is just an add-on around the core CPAN. search.cpan.org is just a useful view at CPAN, but it must not be the only one . In fact, there's also kobesearch providing an alternative view. There you find a listing of PPM packages for Win32 for every distribution.

        And it's quite easy to provide an additional view to CPAN. Recently I wrote the CPAN Testers Matrix because I was not satisfied with the test report presentation on cpantesters.perl.org. Currently it's ennobled by being linked from both search.cpan.org and kobesearch.

        I happen also to like the cpanratings. It's usually the first page I am reading each morning.

        CPAN is not http://search.cpan.org/
      Many sources are at CPAN itself: AnnoCPAN and CPAN::Forum, RT is available from Best Practical. Gravatar is not perl IMHO. PAUSE itself is only available via svn, but I think there are hardly any problems with it.
Re: What can bring the excitement back to Perl?
by dragonchild (Archbishop) on Mar 25, 2008 at 11:38 UTC
    You know what excites me? It's being able to get paid ridiculous amounts of money to do what I love to do while working from home. It's being able to work with some of the smartest people in the world without having to get on a plane. It's the fact that, sometimes, some of these smartest people ask me for advice. It's knowing that my code actually makes a difference vs. just sitting in some server being used by 6 people who couldn't care less. Today, I get to do all that in Perl. If tomorrow I would need to use Brainfuck to get those benefits, I would use Brainfuck.

    So, why do all those things come to me when I use Perl? Answer that question and you'll see how exciting Perl has always been and still is.


    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

      I don't think the OP was saying he doesn't find Perl exciting. He wants to figure out how Perl can be "sold" as exciting to a wider audience. The biggest problem for Perl in the industry at the moment is a lack of Perl developers. And that seems to be because younger / newer developers aren't picking it up.

      I think the only thing that can really get Perl back to where it once was, in terms of "buzz", is Perl 6.

        *sighs* Why on earth do we want to have our name everywhere? Where is the cachet in that? Perl gets the job done, period.

        And, frankly, I cannot think of a time where Perl was ever buzzed about. Ever. Not even the halcyon dotcom days. It just never happened.


        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re: What can bring the excitement back to Perl?
by Erez (Curate) on Mar 25, 2008 at 12:55 UTC

    I thought 5.10 was a very exciting thing inside and outside the community of Perl.
    A new stable release shows that the language is alive and well, that it's being well-maintained, and continues to evolve: bugs are fixed and new and exciting features are being introduced. The introduction of Perl 6 ideas, both in 5.10 and in Moose is also interesting, as it allows people to gradually come to terms with some of the new stuff Perl 6 will bring.

    Software speaks in tongues of man.
    Stop saying 'script'. Stop saying 'line-noise'.
    We have nothing to lose but our metaphors.

Re: What can bring the excitement back to Perl?
by wade (Pilgrim) on Mar 25, 2008 at 14:05 UTC

    It's like a relationship. Ruby and, to some extent, PHP are in the we just met and isn't it just phenomenal? infatuation stage. She always wears lingerie to bed, doesn't snore (that you've heard, anyway), and even if she gets sick, it's kind of cute. On the other hand, Perl is in the we've been married 20 years real love stage. You've met her mother and have made a grudging peace with her and you know all-too-well that she has bodily functions but, really, it's all good. You fit so well, you finish each others' sentences. Sure, the fires aren't as white-hot as they were in the beginning but you know that that isn't sustainable. By this point, you know that she's got what it takes to get you out of real trouble. She's got real staying power.

    I guess what I'm trying to say is that I don't see why Perl needs to be exciting any more than C does. They do the job with beauty and elegance. That's really what I want from a programming language.

    --
    Wade
      Ok. That was funny! I never vote but you just got one.
Re: What can bring the excitement back to Perl?
by zentara (Archbishop) on Mar 25, 2008 at 14:16 UTC
Re: What can bring the excitement back to Perl?
by stvn (Monsignor) on Mar 25, 2008 at 15:45 UTC

    Well, I very much (respectfully) disagree with you, let me explain why.

    Why is Perl not considered as awesome as PHP & Ruby? I have a couple theories on this actually ...

    First PHP, it has a (very) low barrier of entry which makes it appealing to first time programmers. I am not sure anyone but those who have only ever programmed in PHP (maybe also in Javascript) think it is all that awesome. It does have a lot of nice "off the shelf" applications which are super easy to install (so sysadmins like them). The real killer app of PHP (IMO at least) is that you can write a fully functioning database driven web application, stuff it all in a single .php file, upload it to your $5 a month web host, and thats it, your done! No modules to install, no dependencies to track down, no servers to set up and configure, etc etc etc. It's so simple, it hurts. Perl simply does not have this "feature" 1, which is nice for those consultants which get paid by the hour and for those of us who care about long term maintainability and clean project organization. However this raises the barrier of entry and makes us cost more, two things which non-tech-savvy business folks (a.k.a - the guys writing the checks) care about very much.

    Second is Ruby. Ruby, Ruby, Ruby, *sigh*. It's actually a very nice language, and Rails is a decent framework. The really funny thing is though, the killer app for Ruby is not (necessarily) a Ruby app at all, but just blogging software that is most often written in either Perl or PHP (oh the irony). Ruby has been made cool by countless bloggers (some good, a lot bad) who are spewing their love (infatuation) for the language all over the blogosphere. When you combine all this exposure with sites like Digg and Reddit and many thousands of bored and unhappy programmers you get a Hype Bubble that is impossible to burst 2.

    But wait, this is not all Ruby has to offer, it's more than just hype. Imagine yourself stuck in a windowless cubicle, flourescent lights bathing everything in a cold, bland shade of blue, a cup of stale coffee next to your keyboard and nothing but Java as far as the IDE can see. Now imagine yourself sitting in a big comfy chair next to the window in your favorite coffee shop, sipping a triple-tall mocha-frapa-spresso with whipped cream 3 and joyfully writing 1 line of Ruby on Rails code for every 20-30 lines of Enterprise Java code. Which would you choose?

    Ruby is object oriented all the way down, which appeals to the Java Junkie who has been told that this is the only acceptable way to be. Ruby's OO is clean too, not like that icky line-noisy Perl OO, or that awkward and kinda clunky Python, but clean,... like Java. Ruby also has lots of cool features like blocks, continuations, metaclasses, etc. which are fairly easy to play with and make you feel smart and clever when you use them. In short, Ruby is fun!

    Of course the really funny thing about Ruby, outside of the recent wave of startups and larger cities, not really a lot of work is out there. It has not trickled down to the PHBs in Middle America who have small budgets and need to get things done. It's overall market penetration is fairly low compared to PHP, Java and even Perl. Sure it is growing, but the hype still far outstrips the reality on the ground.

    So, to recap, we have PHP; low barrier of entry, easy to deploy. We have Ruby; super cool and sexy, easier to write then Java. How can Perl compete?

    Perl 6, yeah maybe, when it comes out. Not to be pessimistic, but people will not be switching to Perl 6 on Xmas of 200x (we may need to start saying 20xx soon). I consider myself an early adopter and the earliest I would even consider using Perl 6 in production would be Xmas 200(x + 1). Why? Because it's a new untested language that is running on a new untested VM and $work is what pays the bills, so I will wait till I am convinced it is stable and ready for use (Of course being an early adopter means I will probably help out with that testing too, and I encourage everyone else to do so as well, it will only get us there quicker). And even still, Perl 6 will only give us the "super cool sexy" thing, it won't be any easier to deploy then Perl 5 (probably harder, at least initially), it won't be "easier to write then Java" since it won't have a "Perl 6 on Rails" (at least initially), and it's barrier for entry will be no lower (and maybe even a little higher) then Perl 5. So if we are really honest with ourselves, looking at Perl 6 as our savior is a long term strategy and doesn't really help things in the hear and now (in fact, it could be argued that all the FUD about Perl 6 actually hurts things).

    CPAN, well, it is full of much more crap then it is good stuff, and this is hard to sift through for the uninitiated. The CPAN ecosystem is awesome and really has nothing that even comes close to competing with it. But if your not writing Perl code, then is useless to you. If the language itself cannot attract the people, then how will 16,000,000+ lines of code in that language make it any more appealing?

    You say that Catalyst, DBIx::Class and Moose aren't exciting enough outside of the community to save us, but I disagree. Catalyst is (IMO at least) far superior to RoR in that it is very much not opinionated, it may be "just another MVC" but so what, it gets the job done. DBIx::Class actually is "something new", it beats every ORM I have looked at in terms of flexibility and robustness, and since it is built on top of DBI, it supports many more database vendors then most other ORMs out there in any language. Moose, well I am biased since I wrote it, but I know for a fact that the object model it provides is unlike anything else out there 4 and I have been told by several people that it is "fun" to program in (and one former Ruby programmer said it was as "fun" if not moreso then Ruby).

    So to go back to our list:

    • Low Barrier for Entry (PHP)

      Perl has always been easy to learn, but hard to master. IMO at least, Catalyst, DBIx::Class and Moose help you start writing good code sooner. There is also things like Perl::Critic which can help to catch the bad things early on. We will never be as dumbed down as PHP is, but you know, I don't think that is a bad thing.

    • Ease of Deployment (PHP)

      Actually, I think we are getting closer on this one. Alias and others have been fixing this though their efforts with Strawberry Perl and the push to improve the CPAN toolchain. It seems that PAR has been improving some, making it a viable choice for easing your deployment pains. We still have a long way to go, but there is positive improvement here.

    • Super Cool & Sexy (Ruby)

      I am not sure if Perl will ever be sexy in the "tight-sweater, miniskirt and heels" way that Ruby is, but thats okay cause Perl is sexy in that "random-color dyed hair, black jeans and glasses" kinda way. (Sorry ladies, feel free to substitute the descriptions accordingly)

    • Easier then Java (Ruby)

      Well, we already have this through CPAN and more specifically, modules like Catalyst, DBIx::Class and Moose which promote cleaner code.

    So why then is Perl not as popular as PHP and Ruby? Perhaps we just don't have enough people blogging about these new Perl technologies, generating the amount of hype needed to break out beyond this (giant) Perl echo chamber 5. A key feature of all of them is TIMTOWTDI, but with an emphasis on providing a more "correct" way to do things, rather then just creativity-run-wild. This kind of flexibility really can only be found in the Perl community, because it is so key to our culture. We need to get out there and promote this, show them it is a good thing and something they should use.

    Okay, now I really need to get back to $work :)

    1. no Vanilla CGI does not count, besides you still have to chase modules and dependencies
    2. yes, Zed Shaw tried, but ultimately failed
    3. and a little cinnamon sprinkled on top, yummy
    4. It borrows from so many different sources (CLOS, Perl 6, Smalltalk, Ruby, Ocaml, BETA, Java, etc.) to produce a combination of features such that it only could be written in a language like Perl. Also, I keep tabs on new languages and technologies and I have yet to see something which is comparable.
    5. Perlmonks and use.perl don't count as "blogging" they are still inside the echo chamber.

    -stvn
      I would not say I disagree that much with you. That was a very systematic analysis about all the technical details. What I would like to add to this is a meditation on why people blog and talk so much about Rails. And my intuition is that this is because the integration of nice CSS and HTML templates with code libraries makes Rails a real breakthrough for individual programmers who can create nice looking sites without hiring web designers. This is not just number of lines of code or nice OO - it is something that without RoR is nearly not possible for a lonely programmer. And this is the kind of advantage that makes people blog about it.
        And my intuition is that this is because the integration of nice CSS and HTML templates with code libraries makes Rails a real breakthrough for individual programmers who can create nice looking sites without hiring web designers.

        I may very well be ignorant, but I didn't realize that Rails came with a web-design-in-a-box like that. Last I looked, the skeleton code is pretty decent, but far from "designed". In the end though, if you want to create a professional product, you will have to hire a web designer, and that is something that the Rubyists do seem to get more than any other language community.

        I think that while this is a good point, some of the new CSS "frameworks" like Blueprint, YUI Grid and more might make it a moot point. Also I have seen a trend in JS frameworks (in particular with JQuery which we use at work) to make it "look nice by default".

        -stvn

      Sort of OT, and I basically haven't used PHP or Ruby, but I want to reply to your comment about Javascript.

      In my experience, Javascript as a language has more to recommend it than a lot of people give it credit for. It has full support for dynamic typing, closures, resizeable arrays, associative arrays, a very flexible object system, and built-in regular expression support. Sort of like Perl, one might say. Now, Javascript also has some dark ugly corners, and it doesn't surprise me that it hasn't taken off in areas other than its one specialty of client-side web applications, but still.

        Javascript was my first language actually (I am not counting BASIC on the Apple ][e back in '85) so I completely agree with you.

        My comment about Javascript was not actually meant to be a slight against it. Only a clarification that most people who had only been exposed to PHP, were also likely to be exposed to Javascript too. But as you said, JS has some ugly dark corners to it which gives it an undeservedly bad rep.

        -stvn

      There are in particular two issues I have noticed that are not helping making perl more accessible.

      1. There is the old TIMTOWTDI/syntax issue which is also considered an asset of perl. Compared to java, perl has many more operators, symbols etc, which have different meanings in different context, and that is confusing and sometimes troublesome. Both newcomers and returners feel insecure. I think its hard to learn and to remember.
      2. Good guides, though I feel the community is very helpful, I also think that perl compared to ruby are lacking in relation to free open guides and examples. Ruby is blessed with its video and web tutorials, which are very user friendly compared to the perl offerings, maybe because Ruby have been 'hip' and have been embraced by the mac crowd that may be more experienced in communicating in a clear and visual fashion.

      Learning perl should be more fun and cool, not feeling like you have to read through a bunch of formulas in advanced math. Learners that benefit from faster yes experiences that are actually useful, will feel empowered and are more likely to show off and distribute in celebration which creates hype(if thats whats desired).

      One nice idea would be a website thats catering to users of different nature. That would be a website with individually targeted areas towards the following roles:

      • web application developers
      • system administration tool developers
      • desktop application developers
      Are there any other general typical roles using or who should be using perl?

      Such a website with a professional and user friendly presentation could feature application examples, video tutorials, slideshows (like those uploaded to slideshare, just more focused on actual problem examples), etc.

      I am well aware that those who could provide useful examples and tutoring through such a site rather like to do it through books and seminars from where they earn a living, but then if you don't want to build a crowd, don't expect there to be a crowd. Though some say we already are.

        I also think that perl compared to ruby are lacking in relation to free open guides and examples.

        Maybe I'm demonstrating the kind of old-school thinking that proves I'm out of step with kids these days, but have you tried to use Ruby's documentation? The only possible way it could compare with Perl's documentation is if an attractive member of the appropriate gender sat on your desk and read it out loud to you (and probably wrote your code for you, because Ruby's documentation is somewhat, well, slender).

Re: What can bring the excitement back to Perl?
by chromatic (Archbishop) on Mar 25, 2008 at 20:03 UTC

    Step one: do something you think is cool with Perl.

    Step two: get a weblog and post about the results of step one.

    Step three: make sure that Google and Technorati and other aggregators index your post.

    Step four: repeat.

      Getting added to social bookmarking websites like Digg or delicious is perhaps more important nowadays, as simply being "indexable" doesn't expose you to a newer/younger crowd.

      You forgot step 3a "Get Wired to write an article declaring you The Hottest Hacker on Earth."

      But in all seriousness, you are absolutely right the only way to increase the hype is to actually start generating that hype and start shoving it down the series of tubes.

      -stvn

        I must be getting old. I remember when the out-of-touch pointy haired bosses whose uninformed statements we mocked had TWO points in their hair, not just one in the middle.

Re: What can bring the excitement back to Perl?
by CountZero (Bishop) on Mar 25, 2008 at 20:48 UTC
    Who said Perl needs to have more excitement than it already has? I think we can dispense with programmers who flock to a language because it is exiting, because what is exiting today will be old hat tomorrow.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

      Recently I had the opportunity to talk to many tech startup founders and none of them was using Perl. I don't know how representative was that sample (it was on the level of 'dozens') - but it looks for me that while Perl is used in the established businesses it is virtually not present at all in new companies.
        Did you ask them what technology they were using? And why? And was the answer "Because it is exciting"?

        CountZero

        A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

        We need a new marketing slogan.

        Perl, the language of choice for implementing privacy-invading, malware-spreading, time-wasting zombie apocalypse simulators for Facebook.

Re: What can bring the excitement back to Perl?
by c4onastick (Friar) on Mar 25, 2008 at 23:44 UTC

    I have a interesting position (from reading many of the posts above), I started out with PHP. I switched to Perl because I wanted to get away from web programming and most of the really cool "features" that I liked in PHP were inspired by Perl (case and point: the preg suite). So if most of the things I love about PHP were inspired by Perl why not go to the source?

    Recently, with Perl, I have done things that I could never do with PHP (well, not easily) and that alone brings me excitement. I believe "Making easy things easy and hard things possible" is very exciting to any programmer.

Re: What can bring the excitement back to Perl?
by sundialsvc4 (Monsignor) on Mar 26, 2008 at 02:32 UTC

    Pray do not confuse “what enables Tim O'Reilly to sell books” with what may drive interest in the Perl programming-language!

    The forces that motivate real-world users to be interested in Perl, and to continue to be interested in it, are really very simple:   they're making money from it, right now, and they would prefer to continue to do so.

    “Newbies,” if I may be so brash as to say it, are always “slaves of the latest fashions,” whereas a more-balanced viewpoint would be that “fashions come and fashions go, and evermore shall it be so.” Once a business has decided to stake its business on (say...) Perl, and once it has been satisfied so-to-do, it really just wants to continue doing that. And Perl still proves itself quite able to do that.

Re: What can bring the excitement back to Perl?
by wrinkles (Pilgrim) on Mar 26, 2008 at 03:45 UTC
    I second the "Druperl" idea. I would like to see a perl CMS that is easy to install on shared hosting, with a modular architecture. The modules would be installed and configured straight from the administrative back-end, through a web interface. Of course the modules would live in CPAN. And built on top of Catalyst.
Re: What can bring the excitement back to Perl?
by Withigo (Friar) on Mar 26, 2008 at 06:23 UTC
    "Perl exists now as an edifice, but as an act of love. People love Perl and love and take care of each other through their involvement with Perl.

    Our generation has a set of tools for aggregating things people care about in ways that increase scope and longevity in ways that were unpredictable even a decade ago. We have all kinds of coordinating tools, mailing lists, Weblogs, etc. Those tools turns love into a renewable building material.

    Today, looking toward the future, you will make more accurate predictions about software and services if you donít ask about the business model, but you ask, Do the people who like it take care of each other? Linux gets rebuilt every night, like that Shinto shrine, by people who care about its being around the following morning. "

    The rest of the article is here: http://www.3pointd.com/20070621/shirky-and-caruso-at-supernova-risk-vs-love/ Apparently Shirky speaks in more depth about Perl and online community in his recently published book "Here comes everybody".

    I think Perl will be fine as long as it can keep from losing the existing culture that has grown up around it--it really is unique. That is, as long as people keep creating new projects in Perl, keep hooking Perl into other successful open-source projects--basically perpetuating the motion of that vast online conveyor belt that brings new people to discover Perl("aha, a technology which allows me to get something done myself, and for free"), while also leading existing Perl hackers out into undiscovered fields to cleverly apply what they know("aha, here's something which everyone is doing the hard way, let's make it easy and free").
Re: What can bring the excitement back to Perl?
by arc_of_descent (Hermit) on Mar 26, 2008 at 08:55 UTC

    IMO support from some big organizations could create/bring back excitement. What better way to catch a newbie than than tell him that company X uses Perl, and no, they are not shy about it either :)

    And this? Google does not hire Perl Programmers. Read this somewhere. Please correct if I'm wrong.

    I'm not sure excitement is the right word here. Excitement and enthusiasm die fast.

    --
    Rohan
      Perl programming in Google is only done in the sysadmin parts of the company.

      All the serious coding is done in C, Java and Python.

      C for the raw speed, Java and Python because they are the members of their class that are easy to instrument, tool, automate and analyse.
        All the serious coding is done in C, Java and Python.
        Maybe they only use Perl for poetry? :)

        --
        Rohan

        I think you mean C++.

        And this? Google does not hire Perl Programmers. Read this somewhere. Please correct if I'm wrong.

      I saw John MacDonald at an impromptu Toronto Perlmongers meeting at Smokeless Joe's recently -- he started working at Google recently, and was visiting from California. Does that count? ;)

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      Agreed ++. Maybe we could borrow an idea from Python's home page e.g. the "NASA uses Python..." and "What they are saying..." sections. I'm sure Perl has similar usage but just isn't as publicised.

      Google does not hire Perl Programmers.

      And perhaps worse, if you're start-up is based on perl, it's going to be hard to cash-in by selling-out to Google.

      So, drop the idea that you're in business to be bought out: if you want to be in business to be in business, then perl is a good choice.

      I've had 3 different headhunters form Google contact me telling me they're trying to hire Perl people. I also see text ads saying they're hiring Perl people when I read Perl mailing lists in gmail.
Re: What can bring the excitement back to Perl?
by talexb (Canon) on Mar 26, 2008 at 15:30 UTC

    Yeah, this assumes that Perl has *lost* some excitement, or that it's *boring* to work with -- and I don't buy that.

    Perl continues to be a great, great tool that I use regularly. I probably can't say that it's exciting to use, but it's definitely not boring.

    And I don't really care if some MBA thinks Perl is old technology -- this old technology just works, thank you. And aren't spreadsheets old technology? ;) Perl gets the job, efficiently, cleanly, and it's not failing -- it's going to be around for quite a while.

    And using Perl 6 as a red herring is getting really, really old. Can we get over it?

    Alex / talexb / Toronto

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      Where I called Perl6 a red herring? I put it as number one on the list of things that can bring excitement to Perl.

      You might not care about it - but the fact that MBA thinks Perl is old means two things: less Perl opportunities (jobs, contracts etc) and also less contributors to Perl open source libraries (enforcing the Perl is dead meme in a vicious circle). And that can have some impact on the lives of many of us.

Re: What can bring the excitement back to Perl?
by doc_faustroll (Scribe) on Mar 27, 2008 at 00:20 UTC

    This thread reminds me of that old song sung by Woody Guthrie about the cowtrail, about the drovers who hit the cowtrail for pleasure. "I can't tell you what level of trouble they give us as we drive these dogies along."

    Perl continues to have respect and is widely used in startups where I work, because it gets the job done.

    I work the gamut from Perl to Python to Java and even PHP when I have to. I can say that I truly enjoy working and thinking in Python and of course Perl. Each language environment becomes its own way of thinking.

    Anyone who is going to work on the higher skilled teams that consult with startups in the valley today is going to be working in a hybrid environment, picking and choosing tools and using the languages that those tools are written in.

    The startup that I am currently working with probably tells their investors and the world that they are all Java all the time. But of course, I'm doing nearly full time Perl hacking for them.

    And last week I just switched over to using this really cool corner of Perl called Moose. ;-) I am enjoying it very much thank you Stvn!

    So try and tell me that no one is using Perl anymore.

    I use Java where and when I have to. For example I'd really only use Lucene/Hadoop for search and massive distribution of data. You don't use a sql database for that level of distribution.

    But plenty of the glue will be written in either Perl or Python. In the *nix world, which is where all the startup are, Perl is used heavily.

    Saying for example that Google only uses Perl for admin is like saying that they only use it for the core of their business. When you are all about massive distribution you are all about network admin. Network admin is not exactly exciting in a ruby on rails kind of way, but hey, who gets your dogies to kansas.

    Moose is fun and it is Perl. I have the CPAN at my fingertips and the ease of Moose. I'm not waiting for Perl 6. I'm not waiting for Godot. I have to solve problems today as elegantly as I can using the best tools at my disposal. Who needs excitement when you can get the job done and have time for surfing!

      I have the feeling that many replies here come from the sentiment that 'We cannot do anything about it - so why bother? Let's do something productive'. I believe we can do something about it. Chromatic shows the way - I am just trying to find out first, what really cool there is in the Perl world. I guess I should not have made the title so controversial.
      Zby,

      By all means evangelize and get holy roller excited about Perl. I was in my post above not at all trying to dampen your enthusiasm or your desire to promote Perl.

      I merely state that startups that I work for use Perl, because I do. ;-)

      There are so many things about Perl worth envangelizing about. Go for it.

      Perhaps you missed some of the irony and the tone of my post. Think of an old ranch hand with a Woody Guthrie twang. I state, in plain English, that I'm not much for excitement, and I submit that Perl is used extensively and will continue to be.

      And yes, the CPAN still rules and many outside the Perl realms still don't grok or know what a killer dev tool it is. I don't care how many modules I have to install on a dev server till I find just the right one. CPAN modules are like books. Once you get sense of what a good read is, you can quickly pick out the good ones. Perhaps you can sell people on Perl with the CPAN and/or create a tool or service that picks good modules in your world of concern?

Re: What can bring the excitement back to Perl?
by systems (Pilgrim) on Mar 27, 2008 at 13:10 UTC
    First I wouldn't count out Catalyst or Moose out.

    Moose is important because Perl 5 needed a better OO support and Catalyst is what brought me back to Perl.

    From where I stand I think more focus should be brought to Windows and MS products. Many of us at work cannot but use tools that play nice with IIS, SQL Server and Active Directory.

    RT, Jifty won't play nice or at all with the above mentioned stack.

    Catalyst at least installed, I have yet to find out if all the modules I need from CPAN will work properly. I really loved Catalyst choose your own weapon approach to things.

    Strawberry Perl need more attention too, since its what bring CPAN to windows.

Summarizing the Above Posts
by Starky (Chaplain) on Mar 28, 2008 at 12:40 UTC
    Allow me to summarize what I think the above nodes are honing in on and provide (brief) observations about the merits.

    The two things that posters have focused on as having the greatest potential for generating buzz are:

    • Perl 6
      • For any new technology to supplant an existing technology where there is an established network, it has to offer benefits that exceed the switching costs.
      • So what the Perl 6 folks have to do is find the things in Perl 6 that will be of the greatest benefit to adopters, then evangelize them with great heaping gobs of gusto.
      • Perl 6 needs to answer the question, "Why change?", and answer it convincingly.
      • The evangelization needs to be extremely proactive.
        • I suggest that when Perl 6 is close to ready for prime time, the Perl 6 team appoint designated evangelists to actively create buzz on Slashdot, Ars, and whatever other forums can reach "crossover" audiences.
        • I also suggest that they create a coherent, cohesive message, write it down, and turn a laser focus to their evangelizing on that message. This is something any experienced PR professional could tell you.
    • CPAN
      • Most negative comments seem to center around issues with search costs.
      • There are so many modules out there, it is costly (in terms of human time) to separate the wheat from the chaff.
      • CPAN's search site already has a reviewing system (most people don't seem to know this) it just needs to be made as easy to use as possible to increase usage. Perhaps some more categories could be added, such as quality of documentation, ease of use, and stability / bugginess.
      • CPAN is already among Perl's main selling points, if not the main selling point, and it would be easy to evangelize. Module of the Week. Fun Modules in the CPAN. Modules for Engineers. Etc., etc. .... If Perl evangelists can't get people excited about the CPAN, it's a problem with the evangelists, not the CPAN.
      I suggest that when Perl 6 is close to ready for prime time, the Perl 6 team appoint...

      Whoa there! There's no appointing. There's just people who show up and do the work (or vice versa).

      The good news is that anyone who wants to do the work can do it without waiting for or asking for permission.

languages for managers book (was Re: What can bring the excitement back to Perl?)
by doom (Deacon) on Apr 05, 2008 at 01:52 UTC
    Someone needs to write a rank beginner's introduction to programming languages, slanted toward managers who don't know much about these things but need to make some choices about technical direction.

    The title of the book should say something or other about animals (Note: foxes/hedgehogs, black swans). Something like "Snakes and Camels" might work.

    Computer Science types are resistant to the idea that software is best considered as a social phenomena, but managerial types are likely to be more enthusiastic about that, and arguably, perl wins when things are considered form that point of view. The perl culture is remarkably strong, whatever the weaknesses of the perl language: so argue in terms of culture.

a perl-oriented linux distro (was Re: What can bring the excitement back to Perl?)
by doom (Deacon) on Apr 05, 2008 at 01:57 UTC
    I keep toying with the idea of doing a perl-oriented linux distro, which among other things would be the ultimate perl webserver: bricolage, slash, twiki and so on would all be installed by default and set-up to work together smoothly, when plugged together in different ways.

    We might not be able to win over the ISPs at this point (which rightly or wrongly have decided it's less dangerous to give newbies PHP to play with than mod_perl), but it ought to be possible to make setting up your own server (almost) as easy as booting off of the right disk.

Re: What can bring the excitement back to Perl?
by welchavw (Pilgrim) on Apr 07, 2008 at 16:55 UTC
    Rename it. Seriously, what's new is what is cool. I don't see that mindshare == utility in any goddamn way when I look around.
      There are also cycles in the fashion. And Perl has been long enough in the purgatory that it can 'come back' and be 'new' again.

      But I do believe that there is something more about 'cool' than just fashion.

Re: What can bring the excitement back to Perl?
by Anonymous Monk on Aug 05, 2009 at 19:49 UTC
    The main thing is to control the perl face.

    The people look up perl on google what they see is shit.

    We need a mass overhaul of most of the p5 web sites.

    Also having one main p5 page which links all the others would be awesome (good example would be ubuntu or fedora)

Re: What can bring the excitement back to Perl?
by tokpela (Chaplain) on Aug 05, 2009 at 22:04 UTC

    Perl is an incredible language.

    I feel so very fortunate that I learned Perl back in the early/mid 90's when it was the language for the Web. Back in the early Internet days, I hired a consultant to help me learn a few basic routines in Perl and something he said stuck with me and has been true to this day:

    "You can do anything with Perl".

    Initially, I had a fairly steep learning curve and wrote crap Perl but it worked. Over the years, I got better and better and started to work on form.

    Now, I use Perl daily and have solved so many business problems with Perl. Perl has provided me with the ability to create so many mission critical programs for the company I work for with the sole cost of my personal salary. And, this stuff just works well. Compare this to all of the money that my company spends on the Microsoft-oriented Web developers and the tools they need in my company and I am know my boss appreciates my budget compared to theirs - not to mention the quality of my work.

    In my opinion, the big issues with Perl that I had in the beginning derive from the following areas.

    Easy to use out of the box

    Sure, Perl is easy no doubt.

    But, having come from a Windows background with a novice level of programming, the initial thing that struck me as missing with Perl compared to any other languages being used was the visual programming aspect. By visual programming, I am talking about a GUI builder where you built the user interface and populate the code in events to create an interactive program. The idea of a console program does not initially compute and certainly does not work for the users I am programming for.

    The coolest thing as a beginner was to be able to put together a stupid little Windows program in something like Delphi or VB that could connect to a database and show data through a data grid. I mean - this was easy. Ooh, I needed to add a little message box with a button - easy. Menus, a toolbar with cut, copy and paste. - many of the visual components of a working program.

    In my experience, the user interface is actually quite a large portion of a program. It is often the most tedious to get right and, to the user, it is the program.

    Working in a visual environment shaped my expectations and skewed my perceptions of what I thought programming was about. Building GUI programs in Perl is not a strong suite and cannot capture the imagination of those who are coming from this type of visual, instant environment.

    The main goal of a beginner or novice is to see visible results and build from there. Having a GUI builder definitely gave tangibility. The problem was that the GUI environment gave the illusion of learning to code when in fact - this was really only interface building.

    In contrast, I really started to learn how to program when I started learning Perl. Now - I can generate modules and "working" code more effectively but I generally do not build Windows GUI programs since I have the bias for wanting to do it in a visual environment.

    I know that there are some tools out there that do this such as Glade but these are not initially seen by beginners and as such do not provide any instant gratification.

    On a similar note, this is why PHP is so popular - because it is somewhat visual in nature and shows quick tangible results for novice programmers to show to end users.

    Why I use Perl instead of X

    Another reason why I like Perl is because of the loose typing. I know some people will disagree here but that's why you can look forward to Perl 6 and we can both win :-)

    In general, I am not really interested in "programming" but rather solving problems. I really enjoy being able to stuff anything into a scalar variable. Hey, I need a list of scalars or I need to lookup scalars by name. These are human-oriented functions that are built-in. Lists of lists, hashes of hashes or a combination of those. Add references to the mix and I am set for a lot of complex problem solving.

    When I was coding in Delphi, I had to worry about every variable type. If I used a number - what kind (integer or float) and if I wanted to show it on the screen I had to cast it into a string - how tedious! What if I didn't use the right type and I reached the numeric limit - poof! Where is the ObjectForThisSpecificPurpose object and what does it derive from? Where is that object tree again?

    With Perl - I am focused on the problems and not having to worry about variable types, casting and the tedious details of working with the machine.

    Finally, the Perl community is really the best thing about Perl. Without the community and the generous nature of the people involved - Perl as a language would stagnate. I appreciate that I am "Standing on the Shoulders of Giants". CPAN has allowed me to leverage my knowledge significantly. Need to unzip a file - Archive::Extract. Templating - Template Toolkit. Database connectivity - DBI. Amazing!

    Too bad other people stuck in straight-jacket languages don't get the same experience. It's liberating. My personal next step is to integrate GUI programming.

    Sorry for the long-winded post - but my feeling is that the lack of instant gratification in a visual sense (it being foreign to the developer) and the inability of beginners to appreciate that you can focus on problems not programming are the some of the main detractors of Perl's excitement.

Re: What can bring the excitement back to Perl?
by jking (Novice) on Aug 06, 2009 at 15:06 UTC

    The excitement is gone because only Perl programmers like Perl. I spend a lot of time in other programming language communities and each one is a silo. Each language is the One True Language(tm) and they spend a lot of time and effort proving it. They spend a lot of time building and testing libraries that were already built and tested in other languages. While they all dislike one another they all have one thing in common: their dislike of Perl. It's practically the only thing they can all agree on: Perl sucks.

    I don't even do much programming in Perl these days, but it's not because Perl sucks: I fortunately know better. The problem is that no one else does. The people who have programmed in Perl and say it sucks are the people who feel like they've escaped tyranny or dodged a bullet. They either got into Perl early on and had a tough time with it until another language gave them their breakthrough epiphany or they were handed a poorly developed project by one of those people and had a tough time with it. Anyone who hasn't programmed in Perl and claims it sucks are just spreading the meme.

    In any case, there are two different Perls in the world: there's "Perl" the eight-tonne monstrosity that no programmer in their right mind should go near; and there's Perl the pragmatic, stable, and reliable programming language. One is a giant FUD ball that the public sees and the other is one that only Perl programmers see. The trick I think will be to expose the monster for what it is and show people the real Perl.

    S. Lott from the Python community makes a good point. Well actually, Dijkstra made the point. I think it's a pretty good one that Perl could exploit quite well. Just my 0.02 cents.

    print$_%15?$_%3?$_%5?$_:'Buzz':'Fizz':'Fizzbuzz' for 1..100;

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://676072]
Approved by moritz
Front-paged by stvn
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2014-08-31 11:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls