It is Time for a High Quality Perl Wiki

Perl is my preferred language for getting things done. Why? Firstly because I already know it and secondly because I know where to look for answers.

When I started learning Perl, there was only one obvious choice of scripting language. Now finally there is some real competition1, but with a modern object system, fantastic (and free) books and great libraries such as Plack, Perl is still the king.

Gabor Szabo asks how we can reach the 400,000 perl developers who are not yet part of the community. His proposal is to frequent programming forums and answer newbie perl questions.

Answering questions one at a time on a forum by forum basis a lot of hard work. If we’re already doing the work, it would be better to put it into making a centralized, authoritative resource – a wiki. Programmers already know how to find out the answers to questions. They use their favourite search engine.

The wiki would be maintained by the community. It would only contain high quality modern perl code and would have plenty of inbound links. When anyone searches for a reasonable perl question that doesn’t already have a good answer on a perl expert’s blog, a link to the wiki should appear at the top of the search engine results.

Talk is cheap so let me go a step further. I’m happy to set something up if folks think this a good idea. If a leading member of the community wants to head this up instead, then that is fine by me too.

Let me know in the comments.


1. From Ruby obviously. Python was never a contender

Encyclopedias by bradleygee.

This entry was posted in Perl and tagged . Bookmark the permalink. Both comments and trackbacks are currently closed.

20 Comments

  1. phaylon
    Posted 2010/12/21 at 02:15 | Permalink

    There is one here (findable via perl.org -> Documenation -> Related Sites).

    • Posted 2010/12/21 at 07:59 | Permalink

      Hi Phaylon,

      I came across this “official perl wiki” for the first time when I was writing this article. I’ve never seen it before in the search results when looking for answers to perl questions.

      It’s probably useful if you’re a member of the community and already know about it so you can find out about perl events or suchlike.

      • phaylon
        Posted 2010/12/21 at 14:29 | Permalink

        Probably because nobody is linking to it. Starting yet another project will only diverse attention even more. But I agree that it could run under wiki.perl.org or something like that and should be more prominently advertised on perl.org.

        • Posted 2010/12/21 at 22:26 | Permalink

          I agree that both moving to something like wiki.perl.org and advertising it better would be a good move.

  2. Posted 2010/12/21 at 03:30 | Permalink

    How would your proposed wiki be different from the “official Perl 5 Wiki”?

    https://www.socialtext.net/perl5/

    • Posted 2010/12/21 at 07:58 | Permalink

      Hi Chris,

      That’s a good question.

      I would hope that the main difference would be that it would be more actively maintained. I picked a link at random – Recommended Online Tutorials. The top link is to a series from the year 2000 (fortunately that series has a link to newer articles). The third link, Perl Tutorial by Steve Cook is a broken link.

      It might be possible to salvage this wiki, but I suspect that would be a lot of work in itself.

      My vision has a wiki that contains technical articles itself rather than linking out. Members of the community would need to periodically link to various pages on the wiki to get them to appear high in the search results.

      Ultimately, I would hope that when someone types for example “I need to write a program to read in a file”, the top result would be to the perl wiki which would demonstrate some beautifully written perl. Obviously there would need to be significant collaboration for this to happen.

      • Posted 2010/12/21 at 09:01 | Permalink

        This is a great vision and many people share it – in fact I am sure many of the P5P wiki also would like to see: ‘when someone types for example “I need to write a program to read in a file”, the top result would be to the perl wiki which would demonstrate some beautifully written perl’

        Even if we all agree that updating the P5P wiki will be a lot of work – I cannot imagine how starting up a new wiki from scratch would be less.

        • Posted 2010/12/21 at 22:41 | Permalink

          Starting a new wiki wouldn’t be less work (unless none of the content is common). The main benefits I can see are:

          1. a better url could be chosen – it really needs to contain the word perl and preferably the word wiki. I like Phaylon’s suggestion wiki.perl.org.
          2. there would be more control. As far as I know, socialtext.net isn’t owned by the community. comments in a wiki don’t seem like a good thing and have lead to spam already.

          • Posted 2010/12/22 at 08:48 | Permalink

            Adding a new url to the existing wiki and later redirecting to it completely should not be a problem.

            As to the control – I am sure Socialtext would agree to any bylaws we would propose it is not in their interest to cripple the wiki. We just need to formulate a coherent text for this constitution. This is not very different from what we’d need to do with a new wiki.

  3. Kamen
    Posted 2010/12/21 at 08:26 | Permalink

    I think it will be good to make some initiative like one that JavaScript folks do at promotejs

    • Posted 2010/12/21 at 22:22 | Permalink

      Great link Kamen. This is close to what I’m talking about.

      What if every developer helped to promote the most proper and correct Perl documentation?

  4. brian d foy
    Posted 2010/12/21 at 11:07 | Permalink

    Adding yet another website to help people find answers to Perl questions solves nothing. People aren’t lacking in places to find answers. They’re missing the motivation to find it, the skill to understand what they read, or the desire to learn beyond their immediate task.

    For years I’ve been answering questions on usenet, Perlmonks, Stackoverflow, and many other sites. I maintain the perlfaq and parts of the Perl documentation. I write books about Perl and teach classes. In my experience, it’s not the lack of websites with Perl answers that’s the problem.

    • Posted 2010/12/21 at 22:19 | Permalink

      I think that most of the “official” Perl documentation is excellent. Many thanks to you and others for doing a great job on it.

      My idea isn’t to add “yet another website” for people to find answers to perl questions. It is to centralize what we’ve got, and aim for authority. The key is for the right answers to appear in the search results. People are obviously motivated enough to type an answer into yet another forum which requires more effort than using a search engine. They are not finding what they are looking for.

      Perhaps your experience as a trainer is different to folks on the ground. I hear colleagues saying they will implement their work websites in PHP because they know where to look for documentation. This is in a firm where Perl is one of the official languages and fairly extensively used.

      • Lian Wan Situ
        Posted 2010/12/22 at 00:19 | Permalink

        But they are not aware of seach.cpan.org or perldoc.perl.org?

        • Posted 2010/12/22 at 07:51 | Permalink

          Even I don’t use either of those, rather typing cpan or perldoc perlfunc (or perldoc IO::Handle) into google.

          I wonder if, as experienced perl developers, we are missing the fact that the perl docs don’t work for beginners. Could that be it? Normally when I’m looking for something I know where to start looking – that function is in perlfunc or this function is in POSIX for example.

      • brian d foy
        Posted 2010/12/23 at 13:39 | Permalink

        How can my experience be different than “those on the ground”? Who do you think is sitting in my classes? My value as a trainer is that I perhaps run into more Perl programmers in more different situations than most people do. My opinion in tempered by over a decade of talking to “people on the ground”, and in more than just a couple companies.

        If perldoc.perl.org (the top google hit for “perl documentation”) and search.cpan.org doesn’t satisfy your need for the docs, you have other problems that your wiki is not going to solve.

        The Perl docs work for beginners as long as they know a little bit about the docs, which they have to do with any language. perldoc.perl.org does a great job presenting them too. I suggest that there is at least another contributing problem that you’re having that has nothing to do with Perl or technology, and a wiki isn’t going to solve that problem because your target audience won’t read it for the same reason they don’t read the other excellent sites that already exist.

        Not to be too much of a grinch, but I’ve seen many, many people say the same things you have over the many. many years I’ve been in the community: let’s start a new wiki for foo. They start it and three months later they stop maintaining it. This isn’t something that you start and let run on its own. You’re going to have to be the driving force maintaining it, adding content, and drawing an audience. You aren’t going to get a lot of people helping you (because those people who have also been the people helping that previous efforts, and where were they?). People have the mistaken notion of “build it and they will come”, despite all the evidence that it’s not true in most cases.

        But maybe you will succeed. Maybe I’m wrong. But historically I haven’t been, which is why you see the problem that you note in your post, and why this same thing comes up time to time.

        What I have seen mildly succeed, however, is someone inside the company being tagged “the Perl guy” to help people get started with Perl. There might be an internal wiki that you can use at your company to explain the parts of Perl they need to do their particular job, including pointers to the main websites. Even then, that “Perl guy” is likely to be the only person working on that.

        • Posted 2010/12/24 at 11:50 | Permalink

          Experience: 10 students and 1 teacher in a class. Do the teacher and the students get the same thing from the class?

          People who attend your classes at least nominally want to be Perl developers. I work with a lot of people who are agnostic about the technology they are using. They just want to get their job done. If the first hit in Google is a Python script, they will use that.

          Perl Docs: they work perfectly for me. But the guys I work with don’t search for example “tcpip script” (first link python) or “ajax script” (first link has a bunch of links to PHP).

          I’m not going to start a new wiki unilaterally. You’re right, I wouldn’t stay interested in that for more than a couple of months. But I’m glad I wrote this post. Folks had good ideas regarding the existing wiki. I need to follow up on.

          • brian d foy
            Posted 2010/12/26 at 16:43 | Permalink

            I’m not sure where you’re misconception is coming from. I’ve been teaching Perl for a long time. I’ve talked to a lot more than 10 students. A lot of teaching is seeing how people do (or don’t do) things. Indeed, that’s the biggest advantage of teaching.

            A lot of people who attend my classes don’t want to be Perl developers. They want to get their work done, whatever that is. Most of them are told that they are going to use Perl to do it, whether because their co-workers use it or that’s what available to them. I’ve taught many different sorts of people in many different sorts of situations.

            You’re assuming quite a lot to discount my experience and advice.

          • Posted 2010/12/26 at 23:28 | Permalink

            *sigh* Brian Brian Brian I think I am misunderstanding what you’re saying. For sure you’re misunderstanding me. I’ve been involved the Perl community for many years. I’ve been to a couple of the YAPC conferences. I’m fully aware of who you are (I may even have met you).

            The comment of 1 teacher / 10 students was a reference to a typical class size I’m familiar with. I’m not saying you’ve only ever met 10 students. I’m not discounting your experience (although your advice seems to be give up, it’s never going to work, or did I misunderstand it? If not I may discount it).

            What I am saying is that your perspective is different to that of your students.

            For the guys who attend your lessons, either they, or more likely their firm, pays a lot of money for them to be there. They are already on the path to becoming perl developers whether they want to be or not.

            Do you meet the guys who have a choice, who are already expert C++ developers and are choosing between writing a cgi page in C++ or learning perl? Do you think those guys type “perl documentation” into their search engine.

            Did you ever wonder why, when there is all this excellent perl documentation available, people are still putting the effort into asking questions on forums?

  5. Posted 2011/01/07 at 07:10 | Permalink

    I was quite busy this week writing code for client and teaching 2 perl classes so only now I noticed this post that also mentions me.

    I think to further strengthen perl and the community we need to (among lots of other things) enl building up a wiki is a lot

    No matter what you do it will be a lot of work. If you manage to get some more folks to help then it might work. That’s true both to building a wiki or going around and answering questions. The latter has the advantage that you can stop any time without your work being unfinished and it can dramatically increase the inbound links to the right documentation. Which in turn will increase the position of these pages on search engines.