Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Survey Says C Dominated New '08 Open-Source Projects

Posted by timothy on Thu Jan 22, 2009 06:54 PM
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Drantin (569921) on Thursday January 22 2009, @06: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, @07:01PM (#26568287)

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

      And what about Objective-C?

      • by Anonymous Coward on Thursday January 22 2009, @07:09PM (#26568387)

        C is very popular for cross platform programs especially open source that don't rely on much platform specific code (c# is windows specific and c++ has some issues if you are not very careful).

        But yeah, c should not count for c++ and c#. Their syntax may be similiar but they are approached and programmed quite differently (their are other languages with similiar c syntax so but they are not lumped in).

        • by FishWithAHammer (957772) on Thursday January 22 2009, @08:17PM (#26568997)

          c# is windows specific

          Wrong.

          • by shaitand (626655) on Thursday January 22 2009, @08:34PM (#26569139) Homepage Journal

            Technically no, practically yes. C# is .net specific and .net is windows specific. Mono is not 100% compatible.

            • by jma05 (897351) on Thursday January 22 2009, @09:22PM (#26569517)

              > Technically no, practically yes. C# is .net specific and .net is windows specific. Mono is not 100% compatible.

              1. If (depending on version) Mono is not a perfect port of .NET, that makes .NET code using those bits, not cross-platform. That is not the same as windows specific. For instance, not every program written in Python will run on all platforms. Some of its' standard libraries are platform specific (Eg: msvcrt). But Python is considered cross-platform.

              2. C# IS cross-platform. AFAIK the compiler implementations behave identically. It's small portions of the standard library that are at fault.

              But nothing stops you from writing fully cross-platform code, if you must. Just a bit more effort.

              Personally, I gave up on C#. While C# is indeed better designed than Java, Groovy integrates with Java well and fills up any of the major feature and productivity gaps that I cared for anyway.

                • by keeboo (724305) on Thursday January 22 2009, @10:31PM (#26569995)

                  Replying my own - I would prefer to put it this way

                  Is it cross-platform?

                  Technically - Yes
                  Practically - Yes
                  Out-of-the-box - Not always.

                  Huh?

                  Well, while you're at it, why not making a more complete list:

                  Technically - Yes
                  Practically - Yes
                  Out-of-the-box - Not always
                  In principle - Yes
                  Philosophically - Yes and No.
                  Karmically - No
                  Politically - Yes
                  Hypothetically - In theory, yes

                    • by shaitand (626655) on Friday January 23 2009, @03:00AM (#26571729) Homepage Journal

                      'As for me, I don't discount any solution just because of who comes up with it, so I'm fine with .NET. To each his own.'

                      *shrugs* We must agree to differ then. I prefer to learn from history. Historically speaking, there haven't been any useful Microsoft technologies that were or are completely interoperable, stable, relatively bugfree, and secure. Seeing as how they have released lots of technologies and solutions over the years they have had plenty of opportunities and have on numerous occasions even lied about the aforementioned things.

                      Maybe .Net is/was/will be the exception. If so I'm not concerned, there are other solutions that DO meet the above criteria and work well. All in all, my track record of avoiding Microsoft solutions when something else will do will then have been the right choice about 99 out of hundred times and saved me thousands of dollars in license, support, and training costs. ;)

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

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

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

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

      by RedWizzard (192002) on Thursday January 22 2009, @08: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.

  • Hrmmm. (Score:5, Funny)

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

    by DragonWriter (970822) on Thursday January 22 2009, @07: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.

  • Black Duck Software? (Score:5, Informative)

    by ChienAndalu (1293930) on Thursday January 22 2009, @07: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, @07: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@g n u .org> on Thursday January 22 2009, @07: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 ;)

  • by Penguinshit (591885) on Thursday January 22 2009, @07:17PM (#26568467) Homepage Journal
    Jose can you C? Then you've got a job at HP!
  • by CuteSteveJobs (1343851) on Thursday January 22 2009, @07: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.
  • [!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?

  • how stupid (Score:3, Insightful)

    by Lord Ender (156273) on Thursday January 22 2009, @07: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.

  • by nsayer (86181) * <nsayer.kfu@com> on Thursday January 22 2009, @07: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.

  • by sien (35268) on Thursday January 22 2009, @09: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, @09:13PM (#26569461)

    ...as measured by lines of code

    (ducks)

  • by Pseudonym (62607) <ajb@spamc o p . n et> on Thursday January 22 2009, @11:46PM (#26570601)
    What's the bet that most of the 7,000 new open source projects were GNOME bindings for "Hello World"?
    • by shaitand (626655) on Thursday January 22 2009, @07:11PM (#26568411) Homepage 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 DragonWriter (970822) on Thursday January 22 2009, @07: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 merreborn (853723) on Thursday January 22 2009, @09:31PM (#26569589) Homepage 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.

        • by shaitand (626655) on Thursday January 22 2009, @08:30PM (#26569105) Homepage 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.

            • 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

          • by bnenning (58349) on Thursday January 22 2009, @08: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.

            • by Anthony_Cargile (1336739) on Thursday January 22 2009, @11:30PM (#26570487) Homepage
              My last brainfuck [wikipedia.org] 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!
    • Re: (Score:3, Insightful)

      In other words, most of them die before they are even borne.

      Quite true, as it is with commercial projects. It's just that you never see those.

    • RTFA (Score:3, Informative)

      47 + 28 + 20 + 18 + 11 + 6 = 130

      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.