Survey Says C Dominated New '08 Open-Source Projects
svonkie writes "C overwhelmingly proved to be the most popular programming language for thousands of new open-source projects in 2008, reports The Register (UK). According to license tracker Black Duck Software, which monitors 180,000 projects on nearly 4,000 sites, almost half — 47 per cent — of new projects last year used C. 17,000 new open-source projects were created in total. Next in popularity after C came Java, with 28 per cent.
In scripting, JavaScript came out on top with 20 per cent, followed by Perl with 18 per cent.
PHP attracted just 11 per cent, and Ruby six per cent. The numbers are a surprise, as open-source PHP has proved popular as a web-site development language, while Ruby's been a hot topic for many."
Seeing as one of the projects mentioned with the most releases was in C#, is it lumping C,C++,C#, etc all under one label?
Actio personalis moritur cum persona. (Dead men don't sue)
I'm surprised C++ didn't make the list.
I can C clearly now...
C|N>K
The results really aren't surprising: as TFA states, most projects use more than one language. So C coming out on top with Java #2 is hardly unsurprising: many extensions built for scripting languages use either C or the primary language for the VM they target (Java for the JVM) in addition to whatever scripting language they are for. And JavaScript being tops among scripting languages also isn't surprising; PHP and Ruby may be popular for web applications, but most PHP and Ruby web apps (and web app frameworks) rely on the use of JavaScript on the client side, and so will often also include JavaScript.
Does not mean it is suitable for large-scale development projects. People who have done projects in better languages understand this, and I fully expect to be flamed by people who need PHP to get anything done.
Ruby still ahead of Python?
I died a little inside...
Important stuff
Seriously, who ever heard of that company? Anyway, here is their actual press release, including a bogus list with 10 random apps I never heard of.
And by the way, Python got 10%.
... but it is very much in demand. A lot of large projects are now being done in Python and Ruby, and while I know that Python has grown in popularity, I have not been seeing much demand for python programmers, but I have for Ruby.
Jose can you C? Then you've got a job at HP!
I have something in common with Stephen Hawking...
Our company's flagship product was written 15 years ago. When we did it, we had to choose a language. Nearly considered Pascal and all the other flavors of the month. C has its shortcomings for sure, but all these years later we're still here, it's still well supported and plenty of people know how to write it. Improvements like recompile-while-running, modern debuggers and error trapping have made it a much more productive environment.
Yes. It certainly has its flaws, but I don't think we could have made a better choice. If I had to pick another language to still be active in another 15 years, that would be it.
The linked article was based on a post from the Black Duck news release that outlines language popularity briefly. From the real source, "..Python at nearly 10% and Ruby at 6%," was replaced with simply "and Ruby six per cent."
Why? Out of all the languages mentioned, why remove only the pen-ultimate?
47 + 28 + 20 + 18 + 11 + 6 = 130
While I would not like to start a flame war of words, I have an issue with Open Source Projects. There is one important statistic we cannot overlook; an over whelming number of OSS projects are non starters!
In other words, most of them die before they are even borne. Now, the author of this piece should have gotten us some stats on how many of these projects actually become something useful.
Why throw JavaScript in there? The rest are server-side languages, while JavaScript is client-side.
Okay, I realize Java can be both - but I suspect the vast majority of its uses anymore are at the server end. You don't see it on the client side all that much anymore (and personally, I'm grateful for that).
#DeleteChrome
.
Also headlined: "C developers lost more jobs in 2008. Java, Ruby, Python, and C# hired more people (and payed higher) in 2008. Twice as many applications roll out for 2008 vs. 2007"
.
.
In other news: "PHP development held flat."
.
Ouch?
[!scripting: C=47, java=28]
Note that 47+28 = 75, so that leaves 25%. Is C++ really that small? And let's just conveniently forget about C#, Objective C, and the odd app here or there written in lisp/scheme, an ML-like language (SML, ocaml, haskell), ada, pascal, eiffel, fortran, ...
(I assume there isn't a moronic failure to distinguish between C, C++, C--, C# and Csh)
Even more surprising:
[Scripting: js=20, pl=18, php=11, rb=6]
That's 20+18+11+6 = 55 (percent), leaving 45 percent to be fought over by languages not attracting more than 6% of the projects. That takes at least eight languages.
This means we have twelve scripting languages in (reasonably) widespread use. Which eight (or more) remain?
I'm guessing python, bash and lua, but then I'm sorta' blank. I can guess at elisp, guile, QuakeC and the fragment shader language, but I'm kinda' skeptical. Anyone care to guess?
What the hell does "scripting" even mean? Perl and Ruby are the same class of language as C. Javascript is an entirely different beast. Whoever categorized Ruby and Javascript together must be completely ignorant of programming.
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
One thing that PHB types need to be made aware of is that the level of use within open source projects does not necessarily imply usage in general. I would expect PHP to be used less to make open source projects. Rather, I would expect it to be used to build websites, which tend to be heavily customized things that don't need to be replicated across sites the same way that open source software tends to be.
Obviously there are exceptions for things like Squirrelmail or PHPBB, but they don't invalidate my argument.
Perl and Ruby are the same class of language as C.
Perl and Ruby are much higher level languages than C. They're no Lisp, but they're nothing like C.
Note that the survey counts the number of projects that use a language, and TFA explicitly notes that the survey found that most projects use more than one language, so that you can't say that the percent that use some language other than C or Java = 100% - (percent using C) - (percent using Java).
Scripting and !Scripting do not appear to separate universes, looking both at TFA and the press release it is based on; they appear to be presenting the percentage of the total pool of ~17,000 new projects that use each language, and just grouping the numbers for the scripting and non-scripting languages (but not taking them out of separate pools). So this conclusion appears to be invalid as well.
The percentages are the percentages of projects that used the language.
TFA notes that most projects used more than one language.
Ergo, if you add up the percentages of the projects that use each language for every language in the survey (not all are reported in TFA), you will get some number > 150% (since more than half of the projects used at least two languages) and possibly much greater than that.
Survey says C dominated new '08 O.S. projects
TO:
Survey finds most '08 new Open source projects causing vulnerabilities for the following years.
the grammar police have arrested well known /.'er timothy for vulgar abuses of the term "per cent" while implying a percentage of a number... More at 11
Being "interpreted" is not a property of the language
If a language has its translation mechanism easily available to the program, then the language itself is designed to be interpreted (or at least bytecode-compiled). ECMAScript and the three P's all have this, and it's called eval() in all four.
merely of some implementation of the language.
Under that definition, a "scripting" language is one whose dominant implementations are all interpreters.
Tiobe maintains a list that is updated every month that tells a different story.
For January 2009, rounded; Java, 19%; C, 16%; C++, 10%; VB, 9%; PHP, 10%.
...as measured by lines of code
(ducks)
Actually, I think these guys know what they're talking about. It's just the Slashdotted, watered down version which makes them look as if they don't.
I'm not.
512 MB RAM, 20 GB disk, 200 GB transfer, five datacenters. $19.95/month.
A lot of C and C++, moderate Java, lots of perl...
In C I "believe" I know almost always have a good idea of what's happening at the machine level. How many instructions (up to a constant), how many nanoseconds (ditto). I may be wrong up to small constants (especially taking account of caching effects, parallelism, blah blah) but I don't think I'm radically off much. I also have a good (IMO) feeling for what optimization is doing.
In C++, I feel the same way but I also think this is more arguable, and more of a nontrivial skill to acquire.
In perl, I absolutely don't. What's the time
to evaluate this regex? Yes, I know some of the
underylying theory and could probably do a decent
job if I thought hard about it, but the point is I don't. And ditto for other high level constructs
in perl. And if I start to fret about such things,
maybe perl is the wrong language for whatever I'm
doing at the time.
Java puzzles me. It's a bit opaque in terms
of quick "what's the metal [/silicon?] doing?" but ultimately manageable if you understand the "interpreter/VM/..." and your own "low level" code. Yet many developers - including developers of core java libraries - clearly are more in the perl mode of obliviousness. So it's a grey area whether Java is overall for someone who has to care about speed/efficiency vs productivity.
Nevertheless, I think the point is that
there is a performance vs quick-productivity
spectrum, and no answer is universally right, but
it is one reason why the "low level" vs "scripting" continuum actually isn't arbitrary
or unwelcome.
For C to die is like saying algebraic notation is going to die. Suspect if it wasn't for the need to eat, we would all program C & figure out ways to get the same features of our day job languages in C.
Don't forget the iPhone influence. Those "apps" have to be written in objective C & people wrote zillions of those. Even Android buyers are bypassing the Java frameworks & just running native programs on their phones. This is still mostly a grassroots effect. Corporate investment is still focused on using the Android frameworks & standards based programming.
categorized Ruby and Javascript together must be completely ignorant of programming
Perhaps I am completely ignorant of programming, though it seems likely that over 25 years of practicing I've learned a few things.
But while I can see some differences between the two languages, I can't say I see enough difference to justify vehement insistence that they couldn't be considered similar. To me, they both appear to be dynamically typed interpreted languages with first class functions and sophisticated object systems. They both have a number of different implementations, they both run on the JVM.
Maybe this is an opportunity for me to learn something new, though.
Tweet, tweet.
... meet quality. Use a telescope.
Expanding a vast wasteland since 1996.
Being "interpreted" is not a property of the language, merely of some implementation of the language.
I wrote an interpreter for assembler once as a proof of concept. It worked. I got class credit. It's not even hard to do.
By your definition then, even assembler is therefore an "interpreted" language. That's just silly.
Help stamp out iliturcy.
Not only are a large percentage of your line of business type systems written in Java, but it is a perfectly fine language for writing applications in. I can build an application on top of RCP and avoid reinventing MANY large wheels, and when I'm done I have an application which will run on pretty much any OS. I can reuse the code to make a mobile version or some mobile mini apps. I can share code libraries between the client and the server, and it took me 2 hours of coding and testing the other day to include javascript in the client (and it can instantly call any function in the client).
Got nothing against other languages and toolsets, but Java development is a fine place to be right now. Applets may not be that great, but JWS fills a niche that is useful too.
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
The Tao of Programming
Help stamp out iliturcy.
What's the bet that most of the 7,000 new open source projects were GNOME bindings for "Hello World"?
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
I was actually intrigued by the findings. C is a dominant language in open source? But as I read these responses, I'm left thinking I'm not sure if C is dominant, or if C, C#, and C++ collectively are dominant. The fact that one could potentially not distinguish between these three languages which are, by any engineers standards, distinct, is cause enough to consider the findings anecdotal.
I don't understand why people are so surprised that C is still very popular. C is the king of performance and likely always will be. Many amateur developers don't like it because it takes a bit more effort to learn and use correctly. C > C++ > C# > Java They may have combined C and C++ staticstics, but to include C# would have been completely obsurd.
WoW..Look like PHP is not even popular at all...Any reason for this kind of result? I am learning php by myself and thought it is going to be a much bigger deal in recent years, but seem like the open source project programming language isn't going to the direction that everyone expected.
Google uses Python. 'nuff said.
Netcraft confirms it!
{{.sig}}
is here.
What about the darling programming language Java?
The write-once, debug-everywhere, need 20 different versions of the JRE, and a crapload of different libraries never included.
Yes ... but will it arrive before Hurd 1.0?
The Tao of math: The numbers you can count are not the real numbers.
When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
Write in C.
As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
Write in C.
Write in C, write in C,
Write in C, oh, write in C.
LOGO's dead and buried,
Write in C.
I used to write a lot of FORTRAN,
For science it worked flawlessly.
Try using it for graphics!
Write in C.
If you've just spent nearly 30 hours,
Debugging some assembly,
Soon you will be glad to
Write in C.
Write in C, Write in C,
Write in C, yeah, Write in C.
BASIC's not the answer.
Write in C.
Write in C, Write in C
Write in C, oh, Write in C.
Pascal won't quite cut it.
Write in C.
If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
I guess when they surveyed half of the Perl projects, they assumed it was meaningless gibberish and left them out of the survey
*runs from angry mob*