CPAN: $677 Million of Perl 277
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?"
Interesting... POPFile cost $500K (Score:3, Interesting)
Now if only I could push the donations up above $5,000
John.
Re:Interesting... POPFile cost $500K (Score:2)
Should your 'ruling class' not have the work being done for them by the working class', the 'working class' would starve long before it's masters. The 'working class' is far more likely to live paycheck to paycheck than the 'ruling class'
Coincidently, while this was being typed my boss came by with my paycheck... now I can pay down my student loan debt by a small fraction!
I don't know about you, but I know that my corporate masters have much bigger savings accounts and investments then I
Re:Interesting... POPFile cost $500K (Score:2)
If the "Ruling Class" is made up of morons... (Score:3, Interesting)
Jobs and Woznaik founded Apple and Jobs still runs it (hell of a lot b
Re:Interesting... POPFile cost $500K (Score:3, Insightful)
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
yeah, but try removing the punctuation (Score:5, Funny)
Re:yeah, but try removing the punctuation (Score:3, Funny)
If you take out the punctuation, it's down to twelve lines of comments.
Huh? (Score:4, Insightful)
Re:Huh? (Score:2, Insightful)
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.
Bahhh! (Score:5, Funny)
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
Mining CPan (Score:2, Interesting)
Re:Mining CPan (Score:4, Funny)
You misspelled "INTERCAL".
Re:Mining CPan (Score:2)
And for those who say "do it yourself" -- I don't have the resources. However, I will say, that if CYAN existed, I would ha
Re:Mining CPan (Score:3, Informative)
While it's not nearly as big as CPAN, I often find Python code I need in the Vaults of Parnassus [vex.net]
Re:Mining CPan (Score:2)
Re:Mining CPan (Score:4, Informative)
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: 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.
Re:Mining CPan (Score:2)
Yuck, I wouldn't want to eat off dishes cleaned in that sink...
Re:Mining CPan (Score:3, Interesting)
Golf? (Score:2, Funny)
I could write CPAN in a one liner!
#!
use warnings
use strict
print "CPAN:
Re:Golf? (Score:3, 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?
Perl isn't Linux (Score:3, Insightful)
Re:Perl isn't Linux (Score:2)
Re:Perl isn't Linux (Score:2)
Win32 Too (Score:2)
If anyone's interested, I've developed a hardware/software audit script entirely in Perl for Win32 (binaries included) that stores data in a centralized MySQL server. Vist here [ashdreams.net].
perllinux.sourceforge.net (Score:3, Interesting)
Useless Measurement? (Score:5, Insightful)
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 [oristus.com]? 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.
Re:Useless Measurement? (Score:2)
While true when dealing with CPAN, I think we know RH's utility and the main issue is that it is free.
Re:Useless Measurement? (Score:5, Funny)
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?
Re:Useless Measurement? (Score:4, Insightful)
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.
Relatively low? (Score:5, Funny)
Re:Relatively low? (Score:2, Funny)
:-)
Re:Relatively low? (Score:2)
Gilb's Law (Score:5, Interesting)
Nonsense. (Score:3, Insightful)
"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
Re:Nonsense. (Score:5, 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.
Re:Nonsense. (Score:3, Insightful)
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.
Re:Nonsense. (Score:2)
You're taking only part of the original quote though:
You seem to be ignoring the first part of the statement -- "anything you need to quantify" -- by pointing out that it's meaningless to compare the quantitative difference between symphonies or flavors, but these things are essentially subjective, so there's little merit in "measuring" their differences. There is no need to quantify here.
I mean, obv
Re:Nonsense. (Score:2)
The reason you can't measure the quality of Beethoven's Fifth is because it is so hard to define the concept of musical quality. You could always rate music according to a definition that you made. Consider something like:"I make a random group
Re:Nonsense. (Score:3, Insightful)
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...
Re:Gilb's Law (Score:3, Insightful)
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.
One of those rare moments when Peopleware is wrong (Score:2)
But, how do you know that the way you're measuring it is better than not measuring at all? There are lots of ways to measure things that are worse than no measurement at all, because they reward the wrong activity.
The canonical examples here are paying programmers per bug fixed, or paying testers per bug detected. Either one of these alone is bad - together they allow programmers and testers to print
Re:Gilb's Law (Score:2)
In addition, even if it was a fact that something "can be measured" that doesn't imply that any particular individual or institution is capable of performing that measurement.
I think Gilb's law is primarily based on denial. Humans want to believe they are in charge of the universe and many can't accept the
Re:Gilb's Law (Score:2)
Gibb's Law does nothing to address the problem that just because you've found a way to measure something, that particular way is superior to not measuring it at all.
Re:Gilb's Law (Score:2)
Better not let him near any pure mathematics then. Mathematciains have determined that there are, in fact non-measurable sets [wikipedia.org] - that is, sets that you can't actually measure. Sure, they're also non-computable and highly pathological, but their existence can be proved.
Jedidiah.
Re:Gilb's Law (Score:3, Interesting)
So far as Gib is concerned, "very big" is a measurement. If you have 3 sets of infinite size, saying that they hav
Re:Gilb's Law (Score:2)
Correct, but the problem is in the assumption that the measurement means more than it does.
But this is also a problem with any measurement with any degree of imprecision.
I see these references to programming languages that assume that a language is somehow representative of the level of the stuff written in them.
You measure A. You measure B.
Is A bigger than B?
The numeric values give a precise answer but
Re:Gilb's Law (Score:2)
The problems lie when people leave off the error bars.
Re:Gilb's Law (Score:2)
1) All measurements have errors (are uncertain) to some degree.
2) Uncertainty can be infinite.
3) Infinite uncertainty is the same as "I don't know"
4) No threshhold of uncertainty has been stated as the dividing line between a good measurement and a bad measurement.
5) Therefore, the statement that "uncertain measurements are bad" is not well enough defined.
The main question that I have, which you may have an answer for i
Whoa, too much politics lately... (Score:3, Funny)
Although their "Book TV" show is usually as dense as Perl, and often profiles books that are write-only.
Low position? (Score:5, Interesting)
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?
Re:Low position? (Score:2)
A lot of the C++ projects are also C projects.
-- less is better.
Re:Low position? (Score:2)
Re:Low position? (Score:5, Funny)
Re:Low position? (Score:2)
All lines are not equal (Score:5, Interesting)
Also, from the linked article:
And here's another: CPAN includes perl itself - which is probably a *lot* of lines of C code.I did not understand: (Score:2)
isn't the sum equal to all parts? I know it is more difficult to do big projects. (all those middle-managers)
generated code
Is code, generated more efficiently.
code downloadable from CPAN that wasn't written for CPAN,
there is probably code in red had that was never written for red had. That is the trouble with open source.
numbers of lines of source code are meaningless.
No no, they give you serious bragging rights!
So things are not that bad. Just the dup
Re:All lines are not equal (Score:2)
Tha standard argument is that, regardless of which language you're using, for a sufficiently large project, the number of lines of code a programmer can produce is relatively constant. Some languages may require less lines to get the same ammount of work done, but the work to pro
PERL programs are hard to distribute (Score:2, Interesting)
Re:PERL programs are hard to distribute (Score:3, Interesting)
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).
Re:PERL programs are hard to distribute (Score:2)
Also its "Perl" as the name of language "perl" as the name of the interpreter. They aren't acronyms, PERL doesn't exist.
Re:PERL programs are hard to distribute (Score:2)
When you distribute code that requires Gnome, the user must install Gnome.
When you distribute code that requires glibc2.2 the user must install glibc2.2.
When you distribute code... is this getting through?
If your program is distributed to Linux systems, you can easily build an apt tree that includes the modules on which you depend as RPMs (or DPKGs for Debian) and then the user just adds you to their sources.list. Alternati
Re:PERL programs are hard to distribute (Score:2)
Ohhhhhh CPAN (Score:2)
Comments (Score:2)
Random perl comments (Score:3, Funny)
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"?
Remember (Score:3, Informative)
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}.
Re:Remember (Score:2)
Ha ha, that never happens. Show someone a semi-working prototype and they'll think it's 90% done and want a ship date from you there and then, preferably some time in the next week, just long enough to tweak the interface. Never write a prototype you wouldn't be willing to support in production!
ActionScript? (Score:2)
Re:ActionScript? (Score:2)
Duplicate purpose modules and waste everywhere (Score:3, Informative)
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
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?
Re:Duplicate purpose modules and waste everywhere (Score:2)
Could this simply mean... (Score:2)
Could it mean that folks who write Perl are more likely to submit their work to CPAN?
How does the "instant gratification" of using an interpreted language factor into all this? I know one of the attractions of Perl for me is that I don't have to compile it to see if it works. I just run it.
Re:Could this simply mean... (Score:2)
(I'm not a programmer, I'm a guy who uses programming languages for specific jobs. Or does that make me a demi-programmer <GRIN>
Again, thanks for putting a new wrinkle in my cerebrum!
Yes, but... (Score:2)
Other studies: Red Hat LInux 7.1, Debian 2.2 (Score:3, Informative)
Another related paper (that I didn't write) is Counting Potatoes: The size of Debian 2.2 [debian.org]. 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) [dwheeler.com] 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.
Re:Other studies: Red Hat LInux 7.1, Debian 2.2 (Score:2)
give us a real unit of measure (Score:2)
But how many libraries of congress is CPAN?
Bowery's Razor (Score:2)
-- Bowery's Razor; a corollary (applicable to programmers and other state crafters) of Okham's Razor [wikipedia.org].
Comment removed (Score:5, Funny)
Re:Huh? (Score:5, Funny)
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.
Re:Perl coders make $135k/year? (Score:2, Informative)
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.
Re:Perl coders make $135k/year? (Score:3, Funny)
$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, t
Re:Perl coders make $135k/year? (Score:2, Informative)
Re:Perl coders make $135k/year? (Score:5, Informative)
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.
Re:Perl coders make $135k/year? (Score:2)
Re:Perl coders make $135k/year? (Score:2, Informative)
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 =)
Re:Perl coders make $135k/year? (Score:2)
Depends on why you're doing the work for. (Score:2)
But I'm not a tax lawyer or an accountant, so if you're really interested in writing off some of your work, it'd be worth looking into.
Re:What is this post about? (Score:2)
A particular large, public archive of perl code that many people use as a resource.
SLOCOUNT?
It's not an acronym. It's a program to count lines of code and estimate cost to produce said lines.
Red Hate 6.2?
An older version of a full Linux distribution (OS, application software, etc) produced by Red Hat.
If lines, why is there a dollar amount in the headline?
Because sloccount estimates cost of development as well as giving lines, and half a billion dollars in development costs sounds particu
Re:Subject rejected - looks too much like ASCII ar (Score:2)
He'd obviously never seen APL -- one the few languages terser and more cryptic than Perl, and (AFAIK) the only one to require its own font.
Re:Subject rejected - looks too much like ASCII ar (Score:2)
I'll agree, though, that it looks like line noise.
Is that the cleanup cost ? (Score:2)
If its the cost of writing the code then it should be a good approximation of the cost of writing it when perl 6 comes out
Re:Subject rejected - looks too much like ASCII ar (Score:3, Funny)
Perl is really clean language
For effort, it works well (Score:2)
If your argument is, "this measure doesn't measure how many lines of code it would have taken in C", or "how much effort would it have
WTF? (Score:2)
Re:OK (Score:2)
Re:OK (Score:2)
Ok, that was your problem, right there. The languages you refer to may be widely used in YOUR industry, and thus have libraries that you need in that industry, but I assure you that in MY industry, Perl (given CPAN) is far-and-away the best tool for most jobs BECAUSE of its ubiquity and support libraries for just about anything you would ever want to do.
That doesn't say your language is useless, but clearly you're only looking at a small slice of the world.
Re:OK (Score:2)
Its likely that your slice (the Perl-using slice) is also a very small slice. Based on a fairly wide-ranging look, I'd guess that C and C++ are the most widely used.
Re:Perl still sucks (Score:2, Interesting)
use Tk;
$win=MainWindow->new;
$label=$win->Label(te x 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 th
Re:PHP (Score:2)