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.
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%.
PHP has been applied to many large scale development projects, demonstrating that you are incorrect. Don't misconstrue your own preference for one language over another to mean that a language is inferior or unsuitable.
Jose can you C? Then you've got a job at HP!
I have something in common with Stephen Hawking...
Well, no.
"X has been used for Y" does not demonstrate that "X is suitable for Y".
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.
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.
How can you build anything large-scale in a language too dynamic for proper static verification?
Sometimes large-scale projects in static languages can be small-scale in dynamic. For example look at the ridiculous amount of resources devoted to dependency injection frameworks in Java, where in Python or Ruby those capabilities are essentially built in.
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
'But at the same time, show me a large scale project done in PHP, and I'll show you a large scale project that would have been better off in Python.'
With all do respect, I find that most worshipers at the altar of python feel the same way about anything that doesn't require C for the sake of performance.
I realize you guys feel that code should LOOK pretty. But not everyone agrees that you need the language to mandate style and FUNCTIONALLY python is no more capable than Perl (example intentionally chosen to make pythonites cring). For most web projects, php is as capable as either.
Besides, he claimed PHP was unsuitable for large projects not merely that there were better choices. PHP is suitable and demonstrably so. There are languages that aren't, like VB. There are no large projects primarily written in VB for this reason despite the fact that vb was extremely popular.
For the services that they provide...
I'd say that it is quite remarkable.
Love sees no species.
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.
Three of the world's top 10 websites are PHP-based. Wikipedia, and facebook, along with vast chunks of yahoo.
I'm gonna go ahead and argue that "X has been successfully used for Y by 3 of the top 10 organizations in the Y industry" is pretty solid evidence that "X is fairly suitable for Y". In fact, I think you'd be hard pressed to demonstrate that "X is unsuitable for Y", given the level of success these sites continue to achieve.
WP, Facebook, and Yahoo all have their business problems, but PHP is the least of them.
Why throw JavaScript in there? The rest are server-side languages, while JavaScript is client-side.
Two reasons I can think of:
1) An increasing amount of number of applications are being delivered via the web browser
2) JavaScript increasingly lives a number of other places besides the browser. See Rhino, JScript.NET, Seed, and probably a few other places I'm not thinking of right now.
Tweet, tweet.
My last brainfuck website failed because the bf compiler got confused between language operators and XHTML tags, and my client refused to pay the $10,000 brainfuck developer fee anyways. Now I just write them in x86 assembly and my development time is much-improved - I finished a 10 page site in under half a decade!
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 think there is something to take from the Perl Best Practices when considering the viability of different languages. In this book they stress over and over the need to have maintainable code. Over the years I have had to go back and manage a large number of my applications and have found that the technical cost to any of these has more to do with the documentation and quality of the code above everything else. I have been (trying) to use Ruby and Javascript in addition to my long familiar Perl languages for some projects and have come to some conclusions based on these three.
Perl has a long history. Which translates to a lot of smart people using it and a fantastic amount of both well documented modules and well established modules that work well and readily. So there are four advantages here: documentation that is complete, documentation is accurate, modules are completely functional, testing/execution is easy.
Javascript is a bit of a fluster-cluck in comparison to this. Documentation is mixed. But there are a lot of really great quality modules with some really great sets of documentation out there. And some gross exeptions. But everyone has their black sheep. What javascript doesn't have is the ability to easy execute/test the code from a command line environment. It's got too much dependency on that ugly browser which can make execution and debugging rather difficult. IMHO javascript needs a rewrite to address it's shortcomings but it's still impressive in accomplishments.
Which turns my attention to Ruby. Lovely language, pretty, elegant, nice to work with. If you know what you are doing. There is effectively little to zero documentation on just about everything. Core modules, when you call up the 'ri' or 'rdoc' returns an emply documentation file. Nice job making it impossible to understand what's going on. There is peepcode, but with $9 a whack at documentation it's pretty easy for a project to get very expensive just trying to see what might be the best module. This is nice for one level of capitalism, but bad for the rest. Ruby has done an extremely bad job on documentation. Fortunately, they have done a very good job with test and execution so it's easier than javascript to work with in that regard. You just don't know what you are doing when you start.
If you don't believe me about Ruby try 'ri Rspec'. It returns an empty file letting you know there is nothing done to document the use of this module. I can find hundreds but this is just an example.
If Ruby was able to provide a level of documentation and functional modules that Perl can demonstrate there would not be much to slight Ruby for. This is a major barrier to adopting languages: documentation, testability, execution/debugging