Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming Software IT Technology

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

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:
  • 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 DragonWriter ( 970822 ) on Thursday January 22, 2009 @08:25PM (#26568533)

    I'd expect that the C family won because of Objective-C; there was a huge amount of iPhone development this year.

    I read TFA but don't have it open, ISTR that there only a small number of mobile projects, and a smaller number of those for the iPhone, on the order of 40, out of the thousands of new projects, so I don't think that Objective-C for the iPhone tipped the balance for the C family, even if they did count the C family as one unit.

  • 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' `at' `yahoo.com'> on Thursday January 22, 2009 @08:40PM (#26568677)

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

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

    by argent ( 18001 ) <peter@slashdot . ... t a r o nga.com> on Thursday January 22, 2009 @08:56PM (#26568831) Homepage Journal

    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.

  • by talexb ( 223672 ) on Thursday January 22, 2009 @09:06PM (#26568911) Homepage Journal

    From TFA: "Note, most projects used more than one language and these results are based on the number of projects using a given language, not the number of lines of code created."

    There, I fixed that for you. :)

  • RTFA (Score:3, Informative)

    by DragonWriter ( 970822 ) on Thursday January 22, 2009 @09:06PM (#26568913)

    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.

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

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

    c# is windows specific

    Wrong.

  • by tepples ( 727027 ) <tepples.gmail@com> on Thursday January 22, 2009 @09:54PM (#26569309) Homepage Journal

    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.

  • Re:how stupid (Score:3, Informative)

    by shaitand ( 626655 ) on Thursday January 22, 2009 @10:08PM (#26569419) Journal

    '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 programming. For that you need a compiled language (and I'm not talking about Javaism but actual native code compilation) like C, C++, and Pascal. There are hacks to compile scripting languages but they aren't fully functional and really aren't worthy of more than a footnote for the sake of the pedants.

    'Whoever categorized Ruby and Javascript together must be completely ignorant of programming.'

    Why? Because the JavaScript interpreter is usually built into web-browsers? They are both interpreted languages.

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

    by Anonymous Coward on Thursday January 22, 2009 @10:20PM (#26569501)
    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.
  • 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.

  • by FishWithAHammer ( 957772 ) on Friday January 23, 2009 @03:25AM (#26571521)

    From those I knew who DID use C# and wanted to use mono as an alternative the word was that mono lacked fundamental components of the standard library that were basically showstoppers (forms if I remember correctly).

    System.Windows.Forms has been essentially complete for a while now. As you say, your information is outdated.

    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.

  • by shaitand ( 626655 ) on Friday January 23, 2009 @04:00AM (#26571729) 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. ;)

  • by tacocat ( 527354 ) <tallison1@@@twmi...rr...com> on Friday January 23, 2009 @07:03AM (#26572551)

    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 Anonymous Coward on Friday January 23, 2009 @07:03AM (#26572553)
    PHP is an intensely terrible scripting language. It literally has six different standard functions to start a subprocess (proc_open, popen, exec, shell_exec, system, passthru), most slightly different for no good reason, and none of them can do a fork and execv without running the arguments through a shell (blatantly assuming they were correctly escaped). There are no threads; pcntl_fork may or may not be there and most extensions get very confused when you use it. Then there's the pervasive attitude that bugs should be hidden because not being able to diagnose your mistakes is cool.
  • by pjt33 ( 739471 ) on Friday January 23, 2009 @07:28AM (#26572653)

    Dynamic typing may allow you to write code fast, but "the job" is more than just initial development. Static typing is appropriate for projects which you expect to have to maintain.

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

    by mfnickster ( 182520 ) on Friday January 23, 2009 @07:58AM (#26572781)

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

  • Comment removed (Score:2, Informative)

    by account_deleted ( 4530225 ) on Friday January 23, 2009 @11:35AM (#26574927)
    Comment removed based on user account deletion
  • Re:no C++ (Score:3, Informative)

    by DragonWriter ( 970822 ) on Friday January 23, 2009 @07:27PM (#26582899)

    I'm surprised python didn't make the list.

    It did make the list, at 10%. Its not in the Register article, but it is in the original report from Black Duck Software.

Stellar rays prove fibbing never pays. Embezzlement is another matter.

Working...