Slashdot Mirror


CPAN: $677 Million of Perl

Adam K writes "It had to happen eventually. CPAN has finally gotten the sloccount treatment, and the results are interesting. At 15.4 million lines of code, CPAN is starting to approach the size of the entire Redhat 6.2 distribution mentioned in David Wheeler's original paper. Could this help explain perl's relatively low position in the SourceForge.net language numbers?"

46 of 277 comments (clear)

  1. Interesting... POPFile cost $500K by JohnGrahamCumming · · Score: 2, Interesting

    Wow, using sloccount on the full POPFile source shows that developing it would have cost around $500K in a regular software company. That seems about right given the length of time we've been working on it and the number of people involved. Cool tool.

    Now if only I could push the donations up above $5,000 :-)

    John.

    1. Re:Interesting... POPFile cost $500K by kryptkpr · · Score: 2, Insightful

      In fact, that's one of the major shortcomings of your Marxist view, it assumes "classes" are somehow innate, assigned at birth, and immutable. The theory is at odds with reality.

      But classes are assigned at birth. You are born into a poor family, or a rich family. You were born to a Jewish family, or a Christian family. The truth of the matter remains that you will _most likely_ continue to lead the same lifestyle as your parents and family.

      However, nobody said anything about classes being immutable .. lots of children rebel against their parent's ways, and decide to do something completely different.

      --
      DJ kRYPT's Free MP3s!
  2. yeah, but try removing the punctuation by WebMasterJoe · · Score: 4, Funny

    If you take out the punctuation, though, it's down to twelve lines of code.

    --
    I really hate signatures, but go to my website.
    1. Re:yeah, but try removing the punctuation by haystor · · Score: 3, Funny

      You mean:

      If you take out the punctuation, it's down to twelve lines of comments.

      --
      t
  3. Huh? by Billobob · · Score: 4, Insightful

    Low position? For a language that's not suppose to be a full-blown low-level language like C/C++, perl is pretty damn well represented - over 1/3 the number of projects compared to C isn't that bad. If you have just one file, something like sourceforge usually isn't needed.

    --
    If you have to ask, you'll never know.
  4. Bahhh! by justanyone · · Score: 4, Funny

    Bahhh, I know people richer than that!

    Now compute the economic gain of using Perl vs. any other language:
    Perl vs. Nothing : $677M
    Perl vs. C : $1.25B
    Perl vs. C# : $2.77B
    Perl vs. Hand Optimized Assembly on Honeywell DPS-3E running GCOS operating system: Priceless

  5. Re:Huh? by _14k4 · · Score: 5, Funny

    Here, I'll repost the link from the article you never read:

    sloccount

  6. Golf? by ellem · · Score: 2, Funny

    Pfft 15.4 Million lines?

    I could write CPAN in a one liner!

    #! /usr/bin/perl
    use warnings ;
    use strict ;

    print "CPAN: ;

    --
    This .sig is fake but accurate.
    1. Re:Golf? by the_mad_poster · · Score: 2, Funny

      Um... because if it put the string terminator right before EOF you'd, presumably, wind up with one giant print statement that just prints out your source code from the point of the original goof? And that would be stupid?

      --
      Alito: A vote for Alito is a punch in the eye to put that bitch back in her place!
  7. Perl isn't Linux by gorim · · Score: 3, Insightful

    Perl is a cross-platform tool that existed long before Linux did. Why do such things get posted under Linux ? May as well post it under BSD it would be doing the same thing. This happened with the recent Bash 3.0 topic as well. Why do people associate things with Linux just because it is open source ? (Unless it is BSD open source).

  8. Useless Measurement? by webword · · Score: 5, Insightful

    What is more important, lines of code or lines of quality code? People are always so impressed with sheer numbers. Quality is important.

    A similar issue is format and structure. You might do something almost right, but it could be better. For example, you might include dates on your web pages but is the format good for users? It can probably be better!

    Numbers are only impressive when they are placed in context of their overall utility. Of course, regarding code, measuring "overall utitility" is no joke. Can you really tell that the code from Programmer A is better than Programmer B.

    In any event, keep your eyes open. Don't let "15.4 million lines of code" amaze you just because the number is big. Let it amaze you because of what it means, and what those lines of code do for users.

    1. Re:Useless Measurement? by Geoff-with-a-G · · Score: 5, Funny

      What is more important, lines of code or lines of quality code? People are always so impressed with sheer numbers. Quality is important.

      Seriously.
      And it's Perl.
      I thought the whole point was that you could write a massive Perl program in a single line.
      15.4 million just tells me that CPAN is getting sloppy. Let's knock that down to say, 17 HUGE lines, okay?

    2. Re:Useless Measurement? by ajs · · Score: 3, Insightful
      LOC isn't a great measure, but when talking about CPAN there are several things to keep in mind that modify the premise of measuring LOC:
      • Perl modules on CPAN include their own, customized installation and testing harness. This renders them far more valuable than a simple dumping ground of LOC.
      • CPAN presents a searchable, globally mirrored database of this code, which again increases its value.
      • Perl itself has an extremely powerful syntax. Many of Perl's detractors, in fact, will claim that this is far too much power to have in a syntax (vs. grammar and/or semantics and/or external libraries), so comparing 1000 LOC in Perl to 1000 LOC in, say, Java or C# or other "mid-level languages" (my phrase) can be quite favorable to Perl. Even comparing to other high-level languages can be, depending on the application (of course, each high level language has its own strengths, and for example, Python's thread handling is much simpler than Perl's, and both Ruby and Python make OO much easier).

      That said, I think that the idea that comparing LOC in, say, a Red Hat distribution to LOC in CPAN is valuable, regardless of the fact that structure and format are also concerns. They are equally concerns in both environments, and both environments have roughly equal pressures on improving both incrementally over time (e.g. bad code gets migrated away from the core and good code gets migrated in).

      ALL OF THAT aside, Perl's CPAN is most valuable not because of its size or the quality of the code, but because it is a repository where thousands of people with highly specialized needs share code with each other. Perl is unique in having created such a space that is widely used outside of core advocates of the language. I don't know why that's the case, but as long as it is, it's a very good thing.

      Getting code noticed by your niche's peers and making it available for everyone to use is key to Perl's success as a language.
  9. Relatively low? by stinkyfingers · · Score: 5, Funny

    It's relatively low because that list is in alphabetical order!

  10. Re:Mining CPan by Dr.+Zowie · · Score: 3, Funny

    >"C#"
    You misspelled "INTERCAL".

  11. Gilb's Law by YetAnotherName · · Score: 4, Interesting
    For anyone who says that lines of code isn't a useful measure, just remember "Gilb's Law":
    Two years ago at a conference in London, I spent an afternoon with Tom Gilb, the author of Software Metrics ... I found that an easy way to get him heated up was to suggest that something you need to know is "unmeasurable." The man was offended by the very idea. He favored me that day with a description of what he considered a fundamental truth about measurability. The idea seemed at once so wise and so encouraging that I copied it verbatim into my journal under the heading of Gilb's Law:

    Anything you need to quanitfy can be measured in some way that is superior to not measuring it at all.

    Gilb's Law doesn't promise you that measurement will be free or even cheap, and it may not be perfect---just better than nothing.
    --Tom DeMarco and Timothy Lister, Peopleware 2/E, Dorset House Publishing, New York, 1999.
    1. Re:Gilb's Law by Minwee · · Score: 3, Insightful

      I'm not seeing any connection there.

      Glib's Law only states that there exists _some_ measure with a value greater than that of not measuring. It doesn't say that every measure, no matter how bizarre, is better than nothing. Glib's Law tells us nothing about the value of lines of code.

      If measurement for measurement's sake was always a good thing then I could take an eight bit CRC of the source code or the ratio of "e"s to "i"s and use those as metrics for quality.

    2. Re:Gilb's Law by T-Ranger · · Score: 2, Interesting
      You have a problem with different fields using "measurable" differently. In non-measurable sets, most non-set theorists would call that non-countable (which may or may not be a different theory. I remember "non-countable' from my discret math days, but never non-measurable. Beh). Many people would say that infinity is sufficent measurement (which is why I perfer countability to measurability).

      So far as Gib is concerned, "very big" is a measurement. If you have 3 sets of infinite size, saying that they have sizes of infinity, infinity-1 and infinity-2 (if you get them in the right order) is better then nothing. Such a definition would outrage any math geek. But now you have some metric

  12. Re:Huh? by servognome · · Score: 4, Funny

    /. response efficiency warning!
    To conserve server resources in the future please update your response "Did you even attempt to click the underlined word 'sloccount'? If not, do it now and read the first line of the first paragraph." with the more efficient "RTFA" or "RTFA you stupid noob" if you are not into the whole brevity thing.

    --
    D6 63 0D 70 89 81 BB 8E 7B 7C 5F 5D 54 EA AB 73
  13. Whoa, too much politics lately... by Bingo+Foo · · Score: 2, Funny
    ... I thought it said "C-SPAN."

    Although their "Book TV" show is usually as dense as Perl, and often profiles books that are write-only.

    --
    taken! (by Davidleeroth) Thanks Bingo Foo!
  14. Low position? by fanatic · · Score: 4, Interesting
    Copying and pasting the linked Sourceforge page into a file, then sortting yelds the following highest project numbers:

    Perl 5254 projects
    PHP 9010 projects
    Java 12210 projects
    C 13069 projects
    C++ 13255 projects

    So perl is behind only 4 others. Given that much Perl project work probably ends up in CPAN instead of sourceforge, this is actually pretty high. Did the poster mean he'd expect higher without CPAN?

    --
    "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
    1. Re:Low position? by lawpoop · · Score: 4, Funny

      Yes, but close to 75% of all those PHP Projects are a DVD/CD cataloging system.

      --
      Computers are useless. They can only give you answers.
      -- Pablo Picasso
  15. Re:Perl coders make $135k/year? by daperdan · · Score: 2, Informative

    I don't know any perl coders who make $135 a year, let alone $135,000!

    Just so you know:
    Amazon.com hires Perl programmers at a pretty good rate. Perl continues to be one of the top languages on the net. You statement is pretty rediculous. Check jobs.perl.org if you think people can't make money writing perl. You statement is quite ignorant.

  16. All lines are not equal by fanatic · · Score: 4, Interesting
    One line on perl typically does a lot more than one line of C code (even without absurd "golf" tricks). The same is true of other high level languages. So even leaving out issues of programmer quality, what does this really mean?

    Also, from the linked article:

    Reasons why these results are meaningless:
    • Most importantly, I've told SLOCCount all of CPAN is one project, which is probably inflating the numbers significantly. When I get more time, I may run SLOCCount per-distribution, then sum the totals. However, SLOCCount appears to have bugs handling this many sub-projects, so I will need to run them separately and manually sum the results.
    • mini-cpan.pl doesn't actually find only the latest versions of everything, some dists are duplicated and some may be ignored.
    • There's probably plenty of generated code not being identified correctly.
    • There's probably plenty of code downloadable from CPAN that wasn't written for CPAN, and so probably shouldn't be counted.
    • All the usual reasons why code metrics based on numbers of lines of source code are meaningless.
    And here's another: CPAN includes perl itself - which is probably a *lot* of lines of C code.
    --
    "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
  17. Re:Perl coders make $135k/year? by NoMoreNicksLeft · · Score: 2, Funny

    In any company employing that many perl programmers, there is at least 1 manager per 2 programmers. Therefor:

    $135,000 per 2 programmers = $270,000 per year

    $200,000 per year for manager
    $35,000 x 2 per year for 2 programmers
    +_______
    $270,000

    Now, it's also quite obvious from this math, that the manager must bring in far more value than a programmer. Which leads me to this conclusion, a software company that fires all its programmers and hires more managers could only become a stronger company.

    Thank you, thank you. No, I do not have my MBA, but I did glean this all from managers at previous employers. Anyone know of job openings for a computer flunky in the Richmond, VA area?

  18. Nonsense. by dpbsmith · · Score: 2, Insightful

    Patently, bad measurements are worse than no measurements.

    "Measurement drives performance." If you are measuring the wrong thing or using misleading measurements, you will do the wrong thing.

    Anyone who thinks they can devise a meaningful measurement the quality of Beethoven's Fifth Symphony versus Brahm's First... or which tastes better, vanilla ice cream or fresh pineapple... or who is a better ballplayer, Willie Mays or Sammy Sosa... needs to have their head measured, preferably with a standardized test.

    In order to tell whether measurement in some way is superior to not measuring it at all, you need a way to measure the quality of the measurement. But to do that, you need...

    1. Re:Nonsense. by Merk · · Score: 4, Insightful

      Read the quote carefully: "Anything you need to quanitfy can be measured in some way that is superior to not measuring it at all."

      He's not saying that *any* measurement is better than no measurement. He's saying that there exists a measurement that is better than no measurement.

      Which tastes better, ice cream or fresh pineapple? I don't know, but rather than say "It's impossible to say! Any measurement will be flawed." You could do a survey and see what most people think tastes better. That may not be the measurement that is better than no measurement, but for certain purposes it may be.

      In the end, it depends on what your reason for doing the measurement is. If you're going to be marketing a new bubble gum flavour, then this survey is better than no information at all.

    2. Re:Nonsense. by ClosedSource · · Score: 2, Insightful

      "He's not saying that *any* measurement is better than no measurement. He's saying that there exists a measurement that is better than no measurement."

      Then he's really making a philosophical statement that probably has little value in a practical sense. Even if it were true, a measurement that you can't identify, is exactly the same as no measurement at all.

      So we just have to go back to basics and say that any proposed measurement should be supported by evidence and we should reject those that aren't.

    3. Re:Nonsense. by Minna+Kirai · · Score: 2, Insightful

      With baseball you can very accurately estimate a player's contribution to scoring runs and thus winning ballgames.

      Which still doesn't tell you who's a better player, unless they somehow had the same sets of opponents and teammates. (And equipment, and weather conditions, and everything else that matters)

      For example, Freeda Foreman has a better winning record than Mike Tyson. Does that make her a better boxer? Imagine what would happen if they fought...

  19. Re:Mining CPan by Waffle+Iron · · Score: 3, Informative
    Well, what I'd like to see first would be a Python equivalent to CPAN existing in the first place.

    While it's not nearly as big as CPAN, I often find Python code I need in the Vaults of Parnassus

  20. PERL programs are hard to distribute by jzilla · · Score: 2, Interesting

    PERL is nice in that it has a lot of prepackaged modules that provide a lot of functionality. But when you distribute code that uses these modules, the end user must install them. This is a big pain in the rear for the average user, which is why I believe that PERL is a bad choice for programs intented for the end user.

    1. Re:PERL programs are hard to distribute by Dr.+Zowie · · Score: 2, Interesting
      This is a pain, and it has certainly hit us in the PDL world. We're only now starting to get appropriate automated packages built.


      On the other hand, if all you need is perl modules (no external libraries) then you can use the CPAN module itself to reach out to CPAN, get the perl code, and test it right there on your system. nearly all the time, it just plain works. That is amazing (to me, anyway).

  21. Re:Huh? by sdcharle · · Score: 2, Insightful
    A lot of projects on SourceForge are like bands conceived by teenagers that never get past the 'designing the first album cover' stage.

    SourceForge is a great tool with meaningful projects there, but you kind of have to take the info you get from looking at overall numbers there with a grain of salt.

  22. Re:Perl coders make $135k/year? by Waffle+Iron · · Score: 2, Informative

    It may cost the employer $135K, but that's not the programmer's take-home pay. One rule of thumb I've seen is to multiply salary by ~2 to get the employer's total costs including equipment, office costs, taxes, etc. That would imply a salary of around $67K.

  23. Re:Perl coders make $135k/year? by Minwee · · Score: 5, Informative

    On average, salary is only half of what a company pays for an employee. If you count benefits, office space, training, administration and all of the other costs involved that $135k works out to more like a $67,000 salary.

    A junior programmer working in Manhattan makes about $60,000 a year according to a recent salary survey, going up to $90,000 for a senior guru. Based on those numbers I don't see anything wrong with the $135k/year figure.

    Coders may not _make_ $135,000, but they do _cost_ that much to employ.

  24. Random perl comments by 14erCleaner · · Score: 2, Funny
    a) I thought there was only one line of Perl that did everything.

    b) Maybe the sloc counter didn't recognize Perl comments, so it overcounted lines. Wait, Perl programs never have comments.

    c) Does this make it "a Perl of great price"?

    --
    Have you read my blog lately?
  25. Remember by ajs318 · · Score: 2, Informative

    I think one of the reasons why many of the things people do in Perl don't end up becoming SourceForge projects is because they're specific to a particular environment -- my company does pretty much everything {that others might do on Windows desktops} using in-house-written Perl scripts accessed through a web browser; but they really aren't general-purpose enough to warrant releasing to the world at large. For instance, we need to store the Ordnance Survey grid references of our customers -- but not everyone will need that functionality. Perl itself provides a kind of "generality-of-purpose abstraction layer"; there's not much sense in writing a program that can handle fifty squillion different data formats if you're only ever going to use one, especially given that processor power and disk space are so cheap nowadays. I also use Perl for jobs that could be done using bash or awk or sed, but Perl is just so handy; and if I need to add one more fearure, I know I can. I'll also use perl -e 'print "something\n"' in an Xterm as a calculator {one day I'll even define a key map that puts the sequence on a function key}.

    Alternatively, Perl -- thanks to all those wonderful library bindings -- might well be used for an initial "feasibility study", say to develop and test the most important function(s) that will end up forming the core of a project; and, once the proof-of-concept is there, the whole thing is then rewritten "from the ground up" in something like C or C++ {which has bindings for the dead same libraries anyway, but feels more "proper" because it's compiled rather than interpreted}.

    --
    Je fume. Tu fumes. Nous fûmes!
  26. Re:Perl coders make $135k/year? by CPlusPlusOwnsYou · · Score: 2, Informative

    I don't know any perl coders who make $135 a year, let alone $135,000!

    I used to work at scotia bank for my high school co-op program and I was making $1k/month writing perl scripts to make graphs (using gnuplot) from webserver statistics. Was a sweet job for a 17 year old =)

    --
    "Software is like sex: it's better when it's free."
  27. Re:Mining CPan by imroy · · Score: 2, Interesting

    I think the Python work would be interesting. I'm a long-time Perl coder and Python looks interesting. But IMHO, PHP would be a waste of time. Part of the reason CPAN is so huge is that perl5 is coming up to its 10th anniversary. The perl5 language has remained very stable over that time. But PHP5 has just been released and from what I've heard it's another major change to the language. But if it's got namespaces and/or sane package management like everyone's been begging for, then PEAR might start to really pick up. I guess we'll see in another 10 years. Either PEAR will be huge success, or programmers will reminisce "Remember PHP? I think someone's coded up a Parrot compiler for that old language " :)

  28. Duplicate purpose modules and waste everywhere by Offwhite98 · · Score: 2, Informative

    In my experience with CPAN I have found it follows the Larry Wall concept that there are many ways to do the same thing. For starters, there are several modules which can communicate with a POP3 server. There are many XML parsers and many means of talking to a MySQL database. Unfortunately I would not say each solution is feature complete or even good quality. It is great that it has built-in Pod Doc, but the fact remains is that it can be quite difficult to get some things done.

    I was able to whip together a webmail client which fetches mail from a POP3 server and parse the MIME types to display content with several Perl modules which was a pretty amazing feat with the little amount of code which I wrote. But as I wrote it I had to come up with many workarounds for incomplete features in the CPAN modules. I also found that some modules were object oriented and some were not.

    So in the end I am finding things like the Java Foundation Classes or the .NET 1.1 profile implemented by Mono to be much more appealing. While there may be fewer means of connecting to a POP3 server, there is a good chance the one that is there will work well enough.

    But I am still curious how the Ruby folks are doing. They have been committed to object-oriented programming and may be able produce higher quality solitions. Anyone doing Ruby here?

    --
    Brennan Stehling - http://brennan.offwhite.net/blog/
  29. perllinux.sourceforge.net by GodWasAnAlien · · Score: 2, Interesting

    http://perllinux.sourceforge.net

  30. Re:Subject rejected - looks too much like ASCII ar by paster · · Score: 3, Funny

    Look at this: XHTML parser using K programming language
    Perl is really clean language :)

    --
    Create RSS feed from any web page http://Page2RSS.com/
  31. If the "Ruling Class" is made up of morons... by WebCowboy · · Score: 2, Interesting

    ...then how'd they become the Ruling Class? You know, not every rich person is a slutty blonde bimbo heiress like Paris Hilton (someone who I'm sure would struggle to make up the bed in just one room of one of daddy's hotels). A good deal of the wealthy class is self made (particularly in North America)--perhaps your view is coloured by the more class-oriented system of the UK, where there is a fair bit more wealth through inheritance.

    Jobs and Woznaik founded Apple and Jobs still runs it (hell of a lot bigger than a mere electronics store chain). I'm sure both of them would be more than capable of wiring up a 13A plug seeing as they were capable of designing, building and programming a computer (and devices allowing them to call Europe for free). And while Bill Gates came from a fairly affluent family, he was hardly a billionaire and managed to survive the early Micro-soft days in dumpy New Mexico digs and do low-level assembly programming.

    And yes, I'm sure many of the owners of GM and Ford know how to change a tyre--seing as they are publicly held companies with a large number of shareholders. I'm willing to bet that the executives.management could do it (Lee Iacocca comes agross as a guy who is down-to-earth enough that he could.

    My sister is the Canadian president of a multi-national corporation and not only can she peel a potato, she peeled many of them making dinner for her two kids every night as a stay-at-home mother when she was in her early twenties.

    Fact is, it is no longer the 19th century, democracy is widespread and the "ruling class" is no longer so dominated by inheritance like it once was. This Marxist theory of the proletariat rising up en-masse against a ruling class dependent on workers output just doesn't wash. Today, those of the working class with the capacity and drive to step up are able to rise one-by-one. And once you are part of the "ruling class" it is human nature to defend it regardless of others actions--particularly when your wealth is earned.

  32. Other studies: Red Hat LInux 7.1, Debian 2.2 by dwheeler · · Score: 2, Informative
    If you find this interesting, you might also want to take a look at my updated paper More than a Gigabuck: Estimating GNU/Linux's Size, which examines Red Hat Linux 7.1. The "Gigabuck" paper shows that:
    1. It would cost over $1 billion (a Gigabuck) to develop this Linux distribution by conventional proprietary means in the U.S. (in year 2000 U.S. dollars).
    2. It includes over 30 million physical source lines of code (SLOC).
    3. It would have required about 8,000 person-years of development time, as determined using the widely-used basic COCOMO model.
    4. Red Hat Linux 7.1 represents over a 60% increase in size, effort, and traditional development costs over Red Hat Linux 6.2 (which was released about one year earlier).

    Another related paper (that I didn't write) is Counting Potatoes: The size of Debian 2.2. They found that Debian 2.2 includes more than 55 million physical SLOC, and would have cost nearly $1.9 billion USD using over 14,000 person-years to develop using traditional proprietary techniques.

    So what's the purpose of all these studies? Insight. There are all sorts of limitations in any measure, including any source lines of code (SLOC) measure. But, in spite of those limitations, there are things you can learn. Using tools (like SLOC counting tools) to measure software can help you understand things about the software, as long as you understand the limitations of the measure.

    In particular, many studies have shown that SLOC is very strongly related to effort (so much so that you can even use equations to predict it). If you want to determine effort in CPAN, you can't just go ask people; few open source software / Free Software (OSS/FS) developers record exactly how much effort they invested. So, these kinds of measures are really helpful for estimating how much effort went into developing the software. Obviously, not all effort is equal (a genius can turn a hard problem into an easy one). And not all code is good, or even useful. But if you want to understand and measure effort, then these measures do have a value. In particular, these results have shown that OSS/FS can scale up to large projects requiring large amounts of effort.

    --
    - David A. Wheeler (see my Secure Programming HOWTO)
  33. Re:Perl still sucks by Eravnrekaree · · Score: 2, Interesting

    I use Perl every day and it has been one of the eisiest to learn and use language that I have found. The syntax to me, seems pretty clear, concise and easy to read, for instance, for a GUI example:
    use Tk;
    $win=MainWindow->new;
    $label=$win->Label(tex t=>'Hello World');
    $label->pack;

    . The syntax actually is very clean and rather simple and easy to use. In my extensive use of Perl I have found the syntax to be very clean, clear, and easy to understand. I think Perl does things a little differently than other languages, and immediately when people see something that is different to them, it seems many think that there is something wrong with it. If you look at another language for the first time it might seem unusual and strange to you. I have looked at PHP, Python, C++ and Java, those languages seem difficult and strange to me when I first look at them, but thats probably because I hadn't used them enough. It shouldn't be wrong to be different. Perl does things differently but that doesnt make it bad or worse than other languages.

    As far as OO goes, Perls OOs is not "bolted on". It is elegantly, carefully designed and integrated with the language. The process of creating and using a Perl module is simple and straightforward, I have done it many times, and just as easy as other programming languages. For example: use Module; $module=Module->new; $module->method(); seems pretty simple and clear to me, in fact, more elegant than some other OO languages that I have seen, in my opinion. I have used C++ and Java, and actually do prefer the design of Perls OO over other languages, it actually takes me less time to use it and code for it than it does on other languages, but thats my personal preference. I have found that with Perl OO and Perl syntax in general it is easy to write clear, good, concise code in less space than many other languages. Perl, to me anyway, requires less language verbage than say C++ or Java does, but is clear and concise.

    People have different needs and tastes, and if people should use the programming tools that best suites them. Perl best suites my needs and works in a way that is natural and easy to me. It took me less time to learn Perl than it has other languages.

    As far as the GUI libraries, Perl has interfaces to a wide range of GUI libraries, from GTK, QT, OpenGL, Tk, FLTK, etc. Take your pick. Tk is most often distributed with Perl, including with ActiveState Perl on Windows. I have used TK on many occassions and found it to have a very elegant and well designed, yet powerful API.

    Perl modules to me seem to be very portable, I have used ones on many different OSs and programs, with no problem. There is nothing inherit in the module system that makes it unportable.

    I really havent seen any of the issues that you have mentioned in my extensive use of the Perl programming language.

  34. Re:Mining CPan by ajs · · Score: 3, Informative
    I checked out that site.

    I only looked at a handfull of the links. It's sort of a Yahoo! (the original indexer, not todays search engine-cum-kitchen sink) for Python code, which is ok, but check out how one uses CPAN in the real world:
    # perl -MCPAN -e shell
    cpan> i /SpamAssassin/
    Distribution F/FE/FELICITY/Mail-SpamAssassin-2.63.tar.gz
    Modul e Mail::SpamAssassin (F/FE/FELICITY/Mail-SpamAssassin-2.63.tar.gz)
    cpa n> install Mail::SpamAssassin
    ---- Unsatisfied dependencies detected during [F/FE/FELICITY/Mail-SpamAssassin-2.63.tar.gz] -----
    Filter::Simple
    Shall I follow them and prepend them to the queue
    of modules we are processing right now? [yes]
    I'm sure you can see how this makes CPAN far more useful for building a large repository of useful Perl modules. How, in Python, can you build several layers of libraries that depend on each other without this kind of repository of dependency information? How does a user "come into the know" about these factors?

    Of course, that ignores the fact that CPAN modules all come with regression testing and online documentation (installed in the sytem "man" tree) as well.