Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Perceptions of Perl - views from the edge

by tim.bunce (Scribe)
on Feb 14, 2008 at 11:44 UTC ( [id://667911]=perlmeditation: print w/replies, xml ) Need Help??

To help research for a talk I’m giving soon I asked the OPEN mailing list:
Please spare a few moments to jot down your thoughts about the Perl language, CPAN, the community. Even if you don’t use it. In fact, especially if you don’t use it. How would you choose a language to develop a new web project? How would Perl rate, and why?
(The OPEN mailing list is “is a community-based mailing list for the discussion of general Web, Internet and related technologies” in Ireland. The participants have an eclectic mix of web related jobs and interests. There’s certainly no bias towards Perl.)

I think it's helpful for the perl community to see how Perl, and the community, are viewed by those more distant to it. And how people who have used perl, python, ruby, php etc choose which to use.

The results give an interesting insight into the memes surrounding Perl. I wrote up a summary here.

  • Comment on Perceptions of Perl - views from the edge

Replies are listed 'Best First'.
Re: Perceptions of Perl - views from the edge
by talexb (Chancellor) on Feb 14, 2008 at 15:05 UTC
      How would you choose a language to develop a new web project?

    Without knowing Perl, I would look for some toolbox of parts that I could put together myself. Writing anything from scratch is fascinating but these days is usually an insane waste of time.

    Without knowing about CPAN, I would worry about what add-ons were available, what quality they would be, and what kind of support might be available for them.

    Without knowing about the Perl community, I would try to gauge whether the company or organization providing the toolbox looked and sounded like it could provide technical backup if necessary

      How would Perl rate, and why?

    Perl is definitely a quirky language, but it's got a really neat personality. There's a great deal of power behind the language, and that's only part of the story.

    Software is a living document that instructs a computer system how to behave. As such, it needs to be well documented, well tested and well supported, and Perl succeeds in all of those areas.

    There are many excellent books out about various aspects of Perl; testing is very well supported, both at a unit level and at an application level; and the Perl community is healthy and thriving.

    On a personal note, I got a little too complacent in the mid 90's, thinking that now that I'd pretty much figured out C, I didn't need to learn anything new. It was a hell of a shock to discover that C wasn't much in demand any more, and that now Java and C++ were what people wanted.

    I read through the Java books and felt overwhelmed by all of the OO babble. C++ made about as much sense, and all of this focus on Object Orientation seemed ridiculous.

    Fortunately for me, a bit of tinkering with this new language Perl suggested it might be lots of fun, and luckily for me I fell into a great contract writing Perl that allowed me to learn as I went along.

    Perl works for me because it's a great language, because CPAN provides piles and piles of really useful software, and because the community is always there to answer your questions and back you up. I'm really grateful Perl's around.

    Alex / talexb / Toronto

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

Re: Perceptions of Perl - views from the edge
by Jenda (Abbot) on Feb 14, 2008 at 14:49 UTC
    Too complex compared to PHP. Code overly obtuse.

    I guess someone thinks the automaticaly defined variables from querystring and post and the automatic quoting of strings are good ideas.

    There’s no point in having something built by an individual or small team, to find that 2-3 years down the line the original team are nowhere to be found and the system requires major re-working/upgrading etc. and there’s only a tiny handful of “experts” available to take over (at somewhat large expense).

    So why not have a large expense (and enough subordinates that I can get a raise) from the very beginning. OTOH, it's true that we do not get as many newbies as we used to. Which on one side gives us more time to get on with things and on the other causes the managers to wonder whether there will be enough perlers to take over a project in a few years. We are loosing to the marketing power of big companies and the hype of "newest and greatest" Ruby on Rails (what happens when a train finaly comes?).

    My personal reason for choosing Ruby every time is that It Makes Writing Really Good Code Really Good Fun. Or as Why so poignantly put it “You’ll be writing such beautiful code it’ll make you cry”.

    Beauty is in the eye of the beer holder. I don't think I could survive enough beer to like Ruby.

    I don’t see Perl as being big in the web-framework world. It is just not on the Radar.

    Marketing, marketing, marketing. We are doing something wrong.

      Two weeks ago today, I set out to write an auction website. The project was under a strict deadline; I had eight days.

      I have written websites in Perl for years. Pure Perl, CGI.pm, CGI::Minimal, CGI::Application, Jifty, and Catalyst have each had their turn.

      I decided to do this project in Ruby on Rails. I did not know Ruby. I did not know Rails.

      Eight days later, there was a working auction site in place, with a few hundred items and a few dozen nerds bidding on them.

      I will put this as clearly as I can: RoR beat the daylights out of every Perl web framework I have had experience with. Even after a decade of Perl experience and more Perl websites under my belt than I can count on both hands, I couldn't have done with Perl what I did in RoR in eight days. I don't know if I could have done it in twice as long. (I do know that it would have sucked.)

      Ruby itself can't do anything Perl can't. I loved its syntactic consistency, though. I spent about 15 seconds learning the language conventions and then it just got the hell out of my way.

      But Rails, oh boy. ActiveRecord is nothing less than a godsend. Finally, and notably in agreement with a Perl design philosophy, there is something that makes simple websites simple to build. I was continually impressed by both the extent to which the framework designers anticipated the needs of the website programmer, and the extent to which the framework "scales up" to more difficult tasks and optimizations without making things more complicated than they have to be.

      Talk whatever shit you want on Ruby and Rails, I guess. The "convention over configuration" paradigm puts a lot of bees in a lot of bonnets in the Perl community. But I'll tell you, it wasn't hype that collected a little over $10k in a multi-unit ascending auction system last Saturday, and it's not just marketing that is building Perl's increasing reputation as a deprecated language for web development.

        I agree with your sentiments exactly. Although this seems to be somewhat of a taboo topic around here, and your comments might incite an angry mob bearing pitchforks and torches.
        :)
        Contrary to what many in the perl community say, I don't think rails is just hype--when you sit down and start coding, the well thought out APIs and the smooth ruby syntax just leap out, grab you and take you far in no time. Actually, this sense of whipituptude is kind of how I felt when I first started learning perl.
        The response from the perl community is rather like an ostrich putting its head in the sand--"oh it's just hype, nothing to see here, move along." Which is frustrating, because I like perl, and I think perl could easily meet the challenges posed by rails. Going into specific details would be off-topic for this thread, but I have been thinking about this a lot lately--maybe I'll collect it into an upcoming meditation.
Re: Perceptions of Perl - views from the edge
by coreolyn (Parson) on Feb 14, 2008 at 18:06 UTC
    Quite simply Perl IS my edge.

    I would never get a job for my Perl knowledge, nor does the job /career I have give any bonus points for my Perl skills. But come crunch time in analyzing a problem, simplifying a task, or automating a 'glue' solution. No one has it out there faster, more reliably, and more durably than myself. Managers roll their eyes if I point out it was because of Perl. Security still groans when I convince the powers to be to roll out a new version to the servers. But without Perl I'd only be your average operations specialist. With it I stand out when it matters most.

    Perl is code for 'Heroes' :)

      ++ I'll second that!

      There are only a couple of perl programmers here in the IT department where I work. (And there are many IT folk here.) With perl's ability to simplify slicing and dicing of data, we're the "go to" guys for many tasks...

      ...roboticus

Re: Perceptions of Perl - views from the edge
by whakka (Hermit) on Feb 14, 2008 at 15:54 UTC
    "Perl is a very powerful, robust language with a lengthy history. Although the newbie might think that Perl is more complicated than it needs to be for web development, experienced programmers will appreciate the vast array of options available with Perl."

    Being a Perl novice and not at all a web programmer of any kind, my perspective is more broad-based (some may think it useless) but I have a general impression of maybe why Perl is not a favored language for development. It seems to me that newer scripting languages focus on delivering solutions that can be marketed as clean, easy, and quick-to-learn, while the powerful folks who use and develop Perl develop these same things for those already inside the community. With these other languages, the focus is narrow, there's one common platform that everyone uses. Perl has a problem rooted in its philosophy of TMTOWDI where you're free to do and use practically whatever you want (and usually there are a multitude of solutions thanks to CPAN).

    Mind you this is a rough perception, and if it's untrue it's an unfortunate result of the general discussion going around, but a manager at a big company won't necessarily know all the various wonderful details and abilities of Perl, but rather what the competition is doing.

Re: Perceptions of Perl - views from the edge
by amarquis (Curate) on Feb 14, 2008 at 14:29 UTC

    That was really great, thanks for sharing it. I loved the bit about which language was which metaphorical spanner.

    One of the points, though, was "Many cheap hosting packages don’t work well out of the box with perl." I'd noticed this in the past, and never really thought about it. Why is this true? Is it worries that Perl, if misused by a novice, will do more damage than PHP misused by a novice? Perceived slowness of Perl? Maybe the Perl name doesn't sell hosting space, your survey seemed to indicate that web dev people aren't thinking of Perl as an option. The only other thing I can think of is that Perl is like the book If you Give a Mouse a Cookie, only really more like "If you give a Perl person module X, they'll want module Y to go with it."

    Pair.com, who I discovered via PerlMonks, seems to be both operating well and offering a crapload of Perl. Maybe it is because they cater to the audience here, which tend not to be novices?

    Sorry to ramble a bit there, it just sparked my curiosity. Again, that was a neat survey, and thanks for sharing the results.

      A very big reason is that you can easily have one server serve many different websites with PHP because PHP does not give you deep hooks into Apache.

      CGI is a lot slower, and you don't want everyone to use that because it takes more resources. If you try to speed things up with mod_perl you run into trouble because you've given too much access away and now one customer can accidentally stomp all over another customer's website.

      Aside from tilly's points, I've also found that some of my clients with the cheaper/more-restrictive web hosting plans are only allowed ftp access to the server, not ssh (or other shell) access. If your Perl uses any modules that aren't already provided by the hosting service, they're a little trickier to install with only ftp and can be impossible to install in some cases (e.g., xs-based modules when you don't have access to a build environment compatible with the target web host).
Re: Perceptions of Perl - views from the edge
by olus (Curate) on Feb 14, 2008 at 15:21 UTC

    I expressed this concern last week in Re: When building web apps, I:, and your poll does bring something more to think about on why Perl is being negleted on behalf of other languages. I've came across situations where I wanted hosting for a web app and having my request denied because Perl is too powerful/dangerous to make it available for customers.

    Your poll clearly shows the subjects that need the attention of the community. Web is the hype, and other languages are being carried on the lap by it. I've read on many nodes that one must choose the right tool for the job, it just happens that, on this matter, our dearest tools aren't on the word of mouth

    I totally agree with Jenda that Perl is urging a Marketing strategy.

Re: Perceptions of Perl - views from the edge
by Gavin (Archbishop) on Feb 14, 2008 at 18:21 UTC
    ”How would you choose a language to develop a new web project?”

    From my own personal experience of dabbling with programming languages over the last 8 years with: Basic, Visual Basic, C++ , Java, Prolog, Perl, PHP, ASP and Lingo.

    The most important aid to learning something of these languages for me was the help and encouragement that I received at the Monastery, the simple fact that brethren were prepared to give their time and pass on their knowledge, that alone puts it head and shoulders above any of the others.
Re: Perceptions of Perl - views from the edge
by lecar_red (Acolyte) on Feb 14, 2008 at 23:18 UTC

    I agree with previous folks, Perl needs to market itself better.

    It needs to market in the web development, system application, middleware and system administration spaces. It has many very powerful tools but the world still thinks of Perl as a pre-y2k language. Even though code written today would look nothing like that of the previous generation (or generations).

Re: Perceptions of Perl - views from the edge
by BrowserUk (Patriarch) on Feb 14, 2008 at 22:43 UTC

    Seems to me this is very web-centric. Does anyone have a feel, references whatever for what percentage of Perl installations are used exclusively or mostly for web work?


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      what percentage of Perl installations are used exclusively or mostly for web work
      You may be able to extrapolate that from the graphs I posted here and the 'subtraction' method I used in the addendum.
Re: Perceptions of Perl - views from the edge
by zby (Vicar) on Feb 15, 2008 at 07:50 UTC
    Some of it is mostly marketing - but some of it is more solid and can have a straightforward technical solution. For example this:
    CPAN is a bit of a mixed blessing. Using it tends to fall into sorcerer’s apprentice mode and the associated dependency hell;

      I don't know if dependency hell from CPAN has a straightforward technical solution.

      I've seen various attempts at addressing it, like the Tiny modules and the P5EE project. The Tiny modules seem like the best step so far.

      It is easy to imagine building an app that relies on several CPAN distributions that in turn load 4 different date/time handling libraries. One module I need uses DateTime, another uses Time::Local, yet another component uses Date::Manip and yet another uses Date::Tiny

      All of these modules are worthy modules, and it reasonable to use any single one of them. I have used libraries that depend on each of them, except Date::Tiny. But, since the Tiny modules seem to be catching on, I expect to come across something that uses Date::Tiny sometime soon.

      I'm not sure what the technical fix for this is.

      It seems to me that the fix is social rather than technical. Just like community consensus is that the use of the strict pragma is recommended. We need a set of best practices for module authors.

      Here are a couple ideas that come to mind as a way to address the dependency hell problem. Module authors should:

      • Minimize dependencies.
      • make it easy for users to replace dependencies with similar modules.

      Maybe someone can write CPAN Best Practices. Perhaps, PBP 2: Electric Boogaloo could include a section on writing modules for CPAN.


      TGI says moo

        The first step would be to make the problem visible - show the dependency summary at the cpan search page along side the stars from the reviews. This is a small technical change with the immediate effect of making the installation of modules much less a frustrating fight with an invisible enemy. But what would be more interesting, is the second order social consequences of it because CPAN authors would care more about the installability of their modules.
Re: Perceptions of Perl - views from the edge
by sundialsvc4 (Abbot) on Feb 15, 2008 at 20:51 UTC

    I would define the project first, then consider my alternatives for building it. Perhaps I would not have to “build” it at all, as in “from scratch,” but would find an already-existing framework that I could just drop into place.

    Let's face it:   by now, most web-sites are very routine things, and high-level construction tools are beginning to emerge as “truly battle-tested.” That's what you want... something that somebody else has already invested a lot of time and hair-follicles into, so that you don't.

    When it came down to the actual implementation, it really would not matter much. I've done 'em in Perl. I've done 'em in PHP. I've done 'em in Python. Usually there was something in the way of already-installed software or already-in-house expertise, and I simply adapted the implementation-strategy to that consideration.

    For any web-project, you're really only interested in the results obtained, and the fact that you're done for the day, and in the pub sipping from a tall foamy mug, at a reasonable hour and without regrets. The last thing you want to find yourself doing is “writing yet-another program.”

Re: Perceptions of Perl - views from the edge
by arbingersys (Pilgrim) on Feb 15, 2008 at 20:33 UTC
    Per this from the summary above:
    ... But Perl is still popular, see http://www.tiobe.com/tpci.htm...
    I got buried this last week, and it's prevented me from making a detailed post to Perlmonks, but I had thought it might be interesting to create a page with "language usage indicators" generated from various sources around the Internet. I created a miniature framework (in Perl!) to produce the index, which I've dubbed LUI. You can view the first blush of LUI at

    lui.arbingersys.com

    Instead of trying to interpret the data, LUI just presents a few (hopefully) useful metrics for considering the question of language "popularity". (I've drawn some of my own conclusions already... for one, don't discount C/C++)

    LUI needs to get better, and there are a few metrics missing -- for instance I want to add koders.com, as well as sourceforge -- but I think the general idea is useful, and it definitely has some interesting results.

    A blog among millions.
Re: Perceptions of Perl - views from the edge
by marcussen (Pilgrim) on Feb 18, 2008 at 05:53 UTC

    I use perl primarily for application development and glue/duct-tape. As a system administrator programming is not my primary concern. However I think some of the reasons why perl loose out on the "Web 2.0" hype is the simple lack of any new and shiny web applications. Apart from use perl journals, most perl blogs I visit use Wordpress, a select few use MT and at least one (hi mjd) use blosxom. Compare the options you have, on the perl side you have the various licensed options of MT, blosxom and that is about it, even if you were to consider less supported or fully developed software such as perlblog or angerwhale we only have a handful of contenders to PHP's wordpress, serendipity, e2volution, simple machines, typo3, etc. Looking at portal or CMS software it is much the same. Granted that I find perl far superior in offering you options to roll your own implementation, but that hardly helps in the consumers eyes.

    In a day and age when "Web 2.0" is of such a seemingly importance, it is not surprising to find that people believe perl to be dead, simply from the lack of web applications they read about/install/see websites using. I mean, the perl foundation had to ask it's readers if they were aware of a perl CRM (http://news.perlfoundation.org/2008/01/i_need_a_crm_package.html) , compare that search term to other languages and you quickly get a feel for which languages have the "shiny web 2.0" appeal. It's not that perl isn't a contender, it's merely a lack of showcases that makes it seem that way.

    while ( whoring ){ for ( xp ){ grep /the source/,@perlmonks; }}

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-04-19 15:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found