Forgot your password?
typodupeerror
Programming Software IT Technology

Survey Says C Dominated New '08 Open-Source Projects 378

Posted by timothy
from the take-that-25-other-letters dept.
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."
This discussion has been archived. No new comments can be posted.

Survey Says C Dominated New '08 Open-Source Projects

Comments Filter:
  • by Drantin (569921) on Thursday January 22, 2009 @07:58PM (#26568227)

    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?

    • by daknapp (156051) on Thursday January 22, 2009 @08:01PM (#26568287)

      Which it shouldn't, as C, C# and C++ seem pretty distinct.

      And what about Objective-C?

    • by Xiroth (917768)

      It must be, given that it didn't mention C++ at all (which certainly gave me a momentary WTF reaction before I figured out what they'd done).

    • by shaitand (626655)

      That's just wrong. C != C++ and C# is another animal altogether.

      • by Curien (267780) on Thursday January 22, 2009 @10:17PM (#26569483)

        Actually, C != C++ is undefined behavior.

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      They also say that these projects "use" C, but don't say that C is the primary language being used. Most languages give programmers the option to implement parts of their program natively to either re-use existing code or optimize for performance. If a Java project contains a few native methods or a Python project has a native extension module, it would seem that those projects would count as both C and the primary language, despite the fact that the amount of C code is relatively small.

    • 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?

      Probably not. The language percentages are out of all projects tracked, not releases, the "most releases" is a separate ranking of projects done from the same survey. The fact that a project has lots of releases doesn't make it count for more than any other project in the language share percentages, its still one project.

      The fact that they differentiate C++, C#, and C as different langua

  • no C++ (Score:5, Interesting)

    by shaitand (626655) on Thursday January 22, 2009 @07:59PM (#26568241) Journal

    I'm surprised C++ didn't make the list.

    • Re:no C++ (Score:5, Informative)

      by RedWizzard (192002) on Thursday January 22, 2009 @09:16PM (#26568981)

      I'm surprised C++ didn't make the list.

      It didn't make the list because apparently the authors think that C, C++, and C# are all the same language.

      • No, they didn't. (Score:3, Informative)

        by Anonymous Coward
        Actually, I think these guys know what they're talking about [blackducksoftware.com]. It's just the Slashdotted, watered down version which makes them look as if they don't.
        • Re: (Score:3, Informative)

          by mfnickster (182520)

          Take another look. On this page [blackducksoftware.com] they say:

          "Over 90% of open source code is written in the major languages: C, C++, Java, Javascript and C#"

          And on this page [blackducksoftware.com] they say:

          "47% of these newly created projects used the C language. Java came in as the number two language of choice at nearly 28%. Third was Javascript at over 20%."

          ...which adds up to 95%, so unless there's some seriously bad math here, they included C++ and C# in that 47% which they refer to as "the C language."

  • Hrmmm. (Score:5, Funny)

    by inode_buddha (576844) on Thursday January 22, 2009 @08:01PM (#26568281) Journal
    I can C clearly now...
  • Not surprising (Score:4, Insightful)

    by DragonWriter (970822) on Thursday January 22, 2009 @08:05PM (#26568327)

    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.

    • by shaitand (626655) on Thursday January 22, 2009 @08:11PM (#26568411) Journal

      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.

      • by Unoti (731964)

        Both parent and grandparent are right. PHP has in fact worked great for many large scale development projects.

        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.

        • 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.

          How can you build anything large-scale in a language too dynamic for proper static verification?

          • by bnenning (58349) on Thursday January 22, 2009 @09:00PM (#26568865)

            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.

          • Check out Journyx time control software. It's a significant for profit business application, that works pretty well, and is built on python.

            Clearly, it can be done. Frankly, compared to building apps in C, python is, IMLTHO, far better support for large projects.

        • by shaitand (626655) on Thursday January 22, 2009 @09:30PM (#26569105) Journal

          '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.

      • PHP has been applied to many large scale development projects, demonstrating that you are incorrect.

        Argumentum ad populum? It has been applied, but the GP said that it still isn't suitable.

        PHP apps often look like this [photopumpkin.com], and just because many people in the world do it that way, it doesn't mean that it's good.

        Which major company uses PHP? Google? Youtube? Amazon?

        The only one I know is Wikipedia, and they are lucky to be able to cache most content.

      • by DragonWriter (970822) on Thursday January 22, 2009 @08:23PM (#26568519)

        PHP has been applied to many large scale development projects, demonstrating that you are incorrect.

        Well, no.

        "X has been used for Y" does not demonstrate that "X is suitable for Y".

        • by shaitand (626655)

          '"X has been used for Y" does not demonstrate that "X is suitable for Y".'

          Fine. For the sake of pedantic. PHP has been used in many large scale projects that work well for the task for which they were designed. Demonstrating that the GP is incorrect.

          Happy now? We are talking about coding. If the result functions and well then the language was suitable to create it, end of story. Something else might have been MORE suitable but that is another matter.

        • by merreborn (853723) on Thursday January 22, 2009 @10:31PM (#26569589) Journal

          PHP has been applied to many large scale development projects, demonstrating that you are incorrect.

          Well, no.

          "X has been used for Y" does not demonstrate that "X is suitable for Y".

          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.

    • Does not mean it is suitable for large-scale development projects.

      I direct your attention to Wikipedia and Facebook. PHP is fine for large scale projects.

    • by dyfet (154716)

      Javascript is usually restricted to client-side stuff, so this simply suggests that there is a LOT of new web 2.0/ajax type stuff being written; this seems possible.

      Perl is widely used as a system scripting language, and for various kinds of applications, as well as for creating web sites, and I think the perl numbers reflect this more general use over php. This seems highly probable.

      I would not be entirely surprised to see someone claim Ruby usage is still rather low, but I gather python was not even ment

    • by edmicman (830206)
      I've throw a question about for anyone to answer...

      My day job is web development maintaining classic ASP and using C# and .NET....good ol' Microsoft shop. I've got hobby experience with PHP/MySQL from my web host and tinkering with scripts like Wordpress and the like. If I wanted to pick up an open source language and skills for web development, with something that could also be used for enterprise use or scalability later, what should I choose? Stick with PHP? Python? Ruby?
  • Black Duck Software? (Score:5, Informative)

    by ChienAndalu (1293930) on Thursday January 22, 2009 @08:07PM (#26568361)

    Seriously, who ever heard of that company? Anyway, here [blackducksoftware.com] is their actual press release, including a bogus list with 10 random apps I never heard of.

    And by the way, Python got 10%.

    • by adamkennedy (121032) <adamk@c[ ].org ['pan' in gap]> on Thursday January 22, 2009 @08:35PM (#26568631) Homepage

      > Seriously, who ever heard of that company?

      They're the guys that do the Koders.com code search engine [koders.com].

    • by jonaskoelker (922170) <jonaskoelker@gn u . org> on Thursday January 22, 2009 @08:49PM (#26568787) Homepage

      Anyway, here [blackducksoftware.com] is their actual press release

      Thanks for that.

      Let's compare "here" with the summary. "Here":

      47% of these newly created projects used the C language. Java came in as the number two language of choice at nearly 28%. Third was Javascript at over 20%. In the world of scripting, nearly 18% of the projects chose to use Perl

      Summary:

      47 per cent â" of new projects last year used C. [...] 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.

      I note that 47+28+20+18 > 100, so somewhere there's a move from one "percentage pie" to the next. I would like to know which language is in which pie, and more importantly why, and why there aren't numbers for one big pie with everyone in it. I'd also like to know why the summary (which is taken from the register) and the "here" seem to be ambiguous, when read together, about which pie javascript goes into.

      I don't think malice is a good explanation for all of this, so I'll assume incompetence. That goes well with the 98%-of-everything-is-crap law ;)

  • ... 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.
  • by Penguinshit (591885) on Thursday January 22, 2009 @08:17PM (#26568467) Homepage Journal
    Jose can you C? Then you've got a job at HP!
  • by CuteSteveJobs (1343851) on Thursday January 22, 2009 @08:26PM (#26568539)
    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.
    • by lawpoop (604919)
      Do you think java has gotten out of the phase of trendiness?

      I'm looking to start learning a real language, to make my career more secure. Although I would like to learn c, c++, or even lisp, just for the fulfillment, when I look at monster.com ads, java is the only non-niche language that consistently shows up. Do you think there is an install base building for java, or not?
      • by AuMatar (183847)

        There's plenty of jobs out there for Java. There's also plenty out there for C and C++, and quite a few for the popular webpage languages (php, perl, etc). If you aren't seeing those constantly, you're not looking very hard. What there's not many out there for are the current fad languages (python, ruby) or functional ones (lisp, scheme, etc).

  • by Anonymous Coward

    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?

  • 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).

    • Why throw JavaScript in there? The rest are server-side languages, while JavaScript is client-side.

      JavaScript is used for scripting in several non-web application, is used as a server side language for web apps, and is used as the predominant client-side scripting language for the web. It is not even close to exclusively a "client-side language", though the use which has made it ubiquitous is its use in that role.

      And most of the other languages there aren't exclusively "client-side" or "server-side", either

    • by weston (16146) <westonsd@@@canncentral...org> on Thursday January 22, 2009 @11:45PM (#26570101) Homepage

      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 [mozilla.org], JScript.NET [wikipedia.org], Seed [arstechnica.com], and probably a few other places I'm not thinking of right now.

  • C development? (Score:2, Interesting)

    by Anonymous Coward
    "C Dominated New '08 Open-Source Projects "

    .

    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?

  • by jonaskoelker (922170) <jonaskoelker@gn u . org> on Thursday January 22, 2009 @08:40PM (#26568677) Homepage

    [!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?

    • There's some overlap caused by projects that use multiple languages. I wouldn't expect either set of numbers to add up to 100%.
    • 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, ...

      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%

  • how stupid (Score:3, Insightful)

    by Lord Ender (156273) on Thursday January 22, 2009 @08:46PM (#26568741) Homepage

    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.

    • God wrote in Lisp (Score:3, Informative)

      by argent (18001)

      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.

    • There are a lot of people, here on /. as well as elsewhere, who loftily declare that Perl, Ruby, Python, and yes, JavaScript are all "scripting" languages and thus beneath the dignity of those who use "programming" languages such as C, C++, Java, etc. It's absurd, of course, since increasingly large apps are written entirely in "scripting" languages and people who pride themselves on using "programming" languages are these days just as dependent on multiple layers of abstraction as the "scripters" are, but

    • Re:how stupid (Score:4, Insightful)

      by kc8apf (89233) <kc8apf@kc8LIONapf.net minus cat> on Thursday January 22, 2009 @09:13PM (#26568963) Homepage

      Yes because a compiled, statically-typed, procedural language (C) has everything in common with an interpreted, dynamically-typed, object-oriented language.

    • Re: (Score:3, Insightful)

      by TheDugong (701481)
      Come back to me when you have written an OS Kernel in Ruby and Perl and then I might agree with your second sentance.
    • Re: (Score:3, Informative)

      by shaitand (626655)

      'What the hell does "scripting" even mean?'

      That the language uses an interpreter rather than a compiler. This is less of an issue with the ridiculously fast processors but interpreted languages are slower than compiled languages and don't result in a stand-alone executable. For a long time many didn't even considered scripting to be real programming.

      'Perl and Ruby are the same class of language as C.'

      Not even remotely. While you can use Perl and Ruby for many applications, they are not suitable for systems

    • Re: (Score:3, Insightful)

      by MyIS (834233)

      I think that the parent was referring to the fact that:
      * C, Perl and Ruby are mostly used to write standalone utilities and apps
      * Javascript is used to script the high-level functionality of a browser (albeit to produce more apps too, sometimes)

      So it's not about compiled vs interpreted, or memory management models. It's about actual practical usage scenarios. And lumping Ruby and Javascript is indeed silly in that sense.

  • by nsayer (86181) * <nsayer@NosPaM.kfu.com> on Thursday January 22, 2009 @08:49PM (#26568785) Homepage

    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.

  • Survey says C dominated new '08 O.S. projects

    TO:

    Survey finds most '08 new Open source projects causing vulnerabilities for the following years.

  • by sien (35268) on Thursday January 22, 2009 @10:09PM (#26569427) Homepage

    Tiobe maintains a list [tiobe.com] that is updated every month that tells a different story.

    For January 2009, rounded; Java, 19%; C, 16%; C++, 10%; VB, 9%; PHP, 10%.

  • by Lars512 (957723) on Thursday January 22, 2009 @10:13PM (#26569461)

    ...as measured by lines of code

    (ducks)

  • by heroine (1220) on Thursday January 22, 2009 @10:43PM (#26569687) Homepage

    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.

  • by Pseudonym (62607) on Friday January 23, 2009 @12:46AM (#26570601)
    What's the bet that most of the 7,000 new open source projects were GNOME bindings for "Hello World"?
  • Write in C (Score:3, Funny)

    by pauljlucas (529435) on Friday January 23, 2009 @12:55PM (#26576279) Homepage Journal
    (Sing as if you were singing "Let it Be".)

    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.

To do nothing is to be nothing.

Working...