Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: How would you rewrite perl community?

by coreolyn (Parson)
on Jul 11, 2005 at 20:10 UTC ( [id://474083]=note: print w/replies, xml ) Need Help??


in reply to Would you rewrite perl community?

I don't think a more difficult question could be asked. For of all the places I've lurked and enquired no community has been more responsive, ingenious, or intriguing as the Perl community. I've learned more about code and the art of code (no matter what the language) through my association with Perl folks.

However, ( Inserts foot in open can of worms -- eew ), There is one area that only fans the flames of Perl detractors -- lack of standards. It's a difficult issue for the Perl community to resolve as the P5EE group has found. However without them I see no way that managers in large corporations will ever find it a maintainable practical language for anything other than batch and system scripting.

In my own expierience I wrote a large well documented, modularized, extensible Perl application that since being passed on to others to maintain has become unreadable undocumented code due to the the motivation to create job security for the ones that took over the application. As the managers only see code that looks obtuse and complicated it is shunned, but because it has become so vital it is maintained.

The lack of ability for managers to have understandable standards by which they can set expectations on Perl applications is something the Perl community really needs to figure out how to meld into TMTOWTDI. If it were any other community than the Perl community I would think this is impossible.

  • Comment on Re: How would you rewrite perl community?

Replies are listed 'Best First'.
Re^2: How would you rewrite perl community?
by techcode (Hermit) on Jul 11, 2005 at 21:53 UTC
    I agree with you!

    Perl community is great - but never say never - there is always room for improvement.

    Perl (IMHO) needs not just standards but many more things (that are more or less related to standards). Things like better advocacy (in general - not just for enterprises), more schools/universities teaching Perl and maybe even some sort of certification.

    But when you think about it, all that would come as a result of increased interest of enterprise market?

    O and maybe it's just me - but I had a hard time when I started learning Perl. Somehow I feel that real beginners in Perl don't have enough quality sources - and even those that exist aren't promoted well.

    And then it ends up in people trying to read get/post params by hand (CGI.pm) or trying to make sort of templating system with regexp for each variable you want to include (HTML::Template) working directly with flat text databases (DBI.pm) ... Well it's how I started :)

    Only good thing about it was the feeling that I had when I found out about those things in () and how Perl is even better than I thought before that :)

      How many quality sources do you need? There are several good beginner books on Perl, the learn.perl.org website, the beginners mailing list, and many places to ask Perl questions. Both perl.com and perl.org link to these resources, and they show up in a lot of answers.

      Lots of people have a hard time learning any new subject, but that's because it's new. Think of it like driving in a city you haven't been to before.

      As for re-inventing the wheel, that's just going to happen. It's a stage of development. If you wanted to solve that however, you wouldn't be solving a Perl problem because that programmer would have the same re-invention problem in any language. The real problem is that you can't have instant, expert experience. Indeed, Simon Cozens talks about this in Advanced Perl Programming (and in my interview with him).

      But now that you've started all this, how about making some concrete suggestions? Out of all the things that a lot of volunteers are doing for free to promote Perl, what more do you want? As I said in my first reply, there are people who do things, and there are people who talk about things. Which one are you going to be?

      --
      brian d foy <brian@stonehenge.com>
        How many quality sources do you need? There are several good beginner books on Perl, the learn.perl.org website, the beginners mailing list, and many places to ask Perl questions. Both perl.com and perl.org link to these resources, and they show up in a lot of answers.

        I've heard this one long time ago : It's enough only when you are being punched.

        I also dont see a reason why there shouldnt be more sources? Anyway could you imagine living in Serbia (or any similar country)? No I don't want to start talk about all shitty things like wars and whatever. Problem I faced is that there were (virtually) no credit cards and only book I could buy here was - Perl : The Complete Reference which isn't really for the starter ...

        Lots of people have a hard time learning any new subject, but that's because it's new. Think of it like driving in a city you haven't been to before.
        Yeah but it's much easier if you have a map of the city ... a detailed one is even better, you know, one that shows which streets are one way (and in what direction) and stuff like that.

        I agree that some things we simply need to learn on our own (the harder way) by making those same mistackes.

        As I said in my first reply, there are people who do things, and there are people who talk about things. Which one are you going to be?
        Well if everything goes right, my first article is going to be published on perl.com. Further, I plan to start (yet another) perl site - targeted especially to beginners. Thought about it for a long time but I couldn't find enough time ...

      From what I've seen, poor code comes from poor or inexperienced programmers. If you start a project and decide to use (enter language here), but have no programmers who have ever programmed extensively with (enter language here), you will have problem with the code that comes out of the project. This is nothing particular to Perl. I've seen some pretty pathetic Java and C# from programmers who thought they could write code with those languages.

Re^2: How would you rewrite perl community?
by Jenda (Abbot) on Jul 12, 2005 at 10:58 UTC

    I don't see how would a Perl standard help with that app. Or maybe I don't understand what do you mean by standard.

    There's nothing preventing your or any other company from writing their own coding guidelines and ensuring their code follows them by the means of code reviews.

    Jenda
    XML sucks. Badly. SOAP on the other hand is the most powerfull vacuum pump ever invented.

      There's nothing preventing your or any other company from writing their own coding guidelines and ensuring their code follows them by the means of code reviews.

      Hear! Hear! I have maintained code in VB, Java, C# (a little), Perl, Pascal, COBOL, and RPG/400. Of those, VB, Java, and C# supposedly have "standards" that enforce maintainability of the code; and that's a damn lie -- or rather, that's marketing (which is worse).

      Maintainable code is only ever quasi-guaranteed, but the only way I've ever seen it is when the dev team -- with the support and backing of management -- creates and enforces code style guidelines. The only time I've ever seen this done well is in a Perl shop.

      This shop was a dream: code was checked into version-control via scripts which first ran PerlTidy with the corporate-standard options (and you could spec your own pass to your favorite style on checkout, but almost no-one did). Any style guideline that could be enforced by PerlTidy, was. The rest were handled by two-tier code review; we had peer-review which checked for style as well as good methodology and all the other peer-reviewy type stuff, and the repository maintainer reviewed solely for style-rules that weren't PerlTidy-enforceable (like "modules can be either OO or functional/procedural, but not both" and "subs that act on on non-scalar data must accept the appropriate reference (e.g. arrayrefs in place of arrays)").

      I have never seen that level of commitment from any shop, and I have never seen an automated tidying-tool that worked as cleanly in automation as PerlTidy.

      Larry Wall is Yoda: there is no try{}
      The Code that can be seen is not the true Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://474083]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2024-04-25 05:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found