Slashdot Mirror


C Top Programming Language For 2016, Finds IEEE's Study (ieee.org)

IEEE Spectrum, a highly regarded magazine edited by the Institute of Electrical and Electronics Engineers, has released its annual programming languages list, sharing with the world how several languages fared against each other. To assess the languages the publication says it worked with a data journalist and looked into 10 online sources -- including social chatter, open-source code production, and job postings. The publication has rated C as the top programming language this year, followed by Java, Python, C++, and R. From their article:After two years in second place, C has finally edged out Java for the top spot. Staying in the top five, Python has swapped places with C++ to take the No. 3 position, and C# has fallen out of the top five to be replaced with R. R is following its momentum from previous years, as part of a positive trend in general for modern big-data languages that Diakopoulos analyses in more detail here. Google and Apple are also making their presence felt, with Google's Go just beating out Apple's Swift for inclusion in the Top Ten. Still, Swift's rise is impressive, as it's jumped five positions to 11th place since last year, when it first entered the rankings. Several other languages also debuted last year, a marked difference from this year, with no new languages entering the rankings.The publication has explained in detail the different metrics it uses to evaluate a language.

13 of 315 comments (clear)

  1. Re:As a C programmer by gmack · · Score: 4, Insightful

    People struggle with pretty much every language, it's just that the bugs are different in each.

  2. Re:As a C programmer by w1z7ard · · Score: 5, Insightful

    C is still the most portable language in the universe. The only real language that works on all phones, in particuarl (ok, C++ does too but C is where you get all the amazing well written, optimized libraries you'd want on most devices).

    --

    "Recursive bipartite matching"- try it!

  3. Re:As a C programmer by jellomizer · · Score: 4, Insightful

    First this is from the IEEE.

    Many Software Developers are not affiliated with the IEEE as they may have followed the Computer Science discipline vs the Computer Engineering discipline.

    So for the people IEEE would survey would be Engineers and companies with a Engineering discipline.

    Now this Engineering discipline is about a make it once and make it right mentality. Meaning there is a preference towards more lower level coding, allowing detailed and measured controls over each line of code, at the expense of maintainability and programming time. C and Java is good for that type of coding.

    However the Computer Science discipline is about making it maintainable, reusable, and fast deployment. This could cause less reliable programs with harder to calculate measures on performance. So languages such as Python and .NET have more appeal.

    These different disciplines have cause many of flame war, as each other camp looks at the other guys code and says it is pure crap, because they focused so much on X and not on Y where Y is far more important and needed in real life.

    The problem with C isn't that it is a hard language. It is a very simple language. But because it does things at a lower level there is often a lot of extra work (Memory Management and Pointers) that makes it difficult to get up to speed because it requires a lot more attention to detail on how each part works. While these other language you focus more on the problem being solved, even though your solution while solves the problem could be done so much better.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  4. Re:As a C programmer by phantomfive · · Score: 4, Insightful

    Also worth mentioning that not only does C run on the most different processors, C is the most portable between languages.....that is, if you write a library in C, it can be used in basically every other language.

    --
    "First they came for the slanderers and i said nothing."
  5. Embeded by Anonymous Coward · · Score: 2, Insightful

    Embedded is getting popular right now, especially with IoT. Based on my experience, C is filling the role of Assembly for a lot of businesses. More importantly, this claim that C is the "top" language isn't very relevant to most developers because they won't be doing embedded work at the rate insinuated by this report.

  6. Cant say i'm surprised by maliqua · · Score: 3, Insightful

    Given the popularity of arduino and similar embedded devices that favor C I'm not really surprised at all to find C is still incredibly wide spread and popular

  7. Re:As a C programmer by goose-incarnated · · Score: 5, Insightful

    C is still the most portable language in the universe. The only real language that works on all phones, in particuarl (ok, C++ does too but C is where you get all the amazing well written, optimized libraries you'd want on most devices).

    It's not only the portability that matters, it's the software reuse. You write your nifty image recognition library in Java and that's pretty much the only language that can use it. Same for Python, C++, etc. Do a locate \.so | wc -l on your system - chances are that the libraries *not* written in C are a rounding error. Pick just about anything remotely useful - chances are it'd more more useful if written in C, because at the very least you can open the executable using dlopen/dlsym and invoke main() with the correct arguments.

    If you stick to a C-only subset of C++ you can write your library in C++, but at that point why bother with C++ anyway?

    --
    I'm a minority race. Save your vitriol for white people.
  8. Re:Object-oriented is a fad by phantomfive · · Score: 3, Insightful

    Object-oriented is a fad!

    I wouldn't have believed you 10 years ago, but now OOP is out and uncool. The new hip people all program in functional style (and OOP is messing everything up). I'm waiting for someone to discover the new imperative programming paradigm.

    --
    "First they came for the slanderers and i said nothing."
  9. Re:As a C programmer by beelsebob · · Score: 5, Insightful

    No, as a pretty experienced C programmer too, it's *really* hard to find people who are even vaguely competent C programmers. You only need to set most people a completely trivial problem with vague exposure to pointers/memory management and they'll trip themselves up. "Implement memmov" usually is enough to catch out 95% of people.

  10. Re: As a C programmer by Anonymous Coward · · Score: 5, Insightful

    Yep. What this article tells me is that
    good programmers have always known
    that c (and maybe c++) is where
    real work gets accomplished,
    and those that got addicted to
    interpreted crap are starting to
    realize they were wasting their
    time on hard to solve problems
    that they 'discovered' were
    actually difficult to solve with
    an interpreted language.

    Then again, I may be completely
    full of crap as I have only
    have 40+ years of experience.

  11. Re:As a C programmer by thinkwaitfast · · Score: 2, Insightful

    And why would you need to do this?

    misra?

  12. Re: As a C programmer by warm_warmer · · Score: 4, Insightful

    Personally, I like Ruby.

    In all seriousness, arguments along the lines of "very few people are competent C programmers" in my experience can be generalized to "very few people are competent <insert any programming language here> programmers". Yes, C is a more challenging language because it requires very strict discipline to do well, but 8+ years in the industry has shown me that good coders are the exception.

  13. Re: As a C programmer by Dutch+Gun · · Score: 5, Insightful

    I'd say that "good programmers" can and do learn a variety of languages, and will use the most appropriate one for the task at hand. There's nothing wrong with getting down to the metal when requirements call for it, but doing so is foolish for many types of projects where top performance isn't a requirement. I'm a game developer, so I live and breathe C++ of course. But I write my tools in C#, and our game's scripting language is in Lua.

    Why C# for tools? Because it has reflection, and a fantastic library for all sorts of serialization, networking, and UI support.

    Why Lua for game scripts? Because then we can recompile and reload our game scripts on the fly, without even stopping the game.

    Which programming language is "best"? It's a stupid question to start with, because the only reasonable answer is "it depends on what you're looking for in a language".

    --
    Irony: Agile development has too much intertia to be abandoned now.