Slashdot Mirror


C Programming Language Back At Number 1

derrida writes "After more than 4 years C is back at position number 1 in the TIOBE index. The scores for C have been pretty constant through the years, varying between the 15% and 20% market share for almost 10 years. So the main reason for C's number 1 position is not C's uprise, but the decline of its competitor Java. Java has a long-term downward trend. It is losing ground to other languages running on the JVM. An example of such a language is JavaFX, which is now approaching the top 20."

27 of 535 comments (clear)

  1. That's great and all... by Thorrablot · · Score: 5, Insightful

    but shouldn't it really be at number 0?

    --
    Any sufficiently advanced technology is indistinguishable from a rigged demo. -- James Klass
  2. TIOBE methodology is so flawed it's pointless by shutdown+-p+now · · Score: 5, Insightful

    Go ahead, read it for yourself, and tell me how this is supposed to give any meaningful results. They aggregate together things of all kind, to the point where an aggregate doesn't make any sense at all (I mean, hits such as "programming in PHP sucks" or "you must be an idiot to write production code in VB" would count as +1 for PHP and VB, correspondingly!). You can have one language having many job postings, another having many books, and yet another having many basic "how to?" questions and dumbed-down tutorials, and they'd all get the same rating.

    In any case, most certainly, at these numbers (Java 18.051%, C 18.058%), speaking of one overtaking another is completely pointless, given the margin of error.

    Anyway, if you want to know how popular a particular language/technology is, the simplest - and much more accurate! - way of doing so is to check any popular job search web site. Just keep in mind that preferences vary in different regions, so if you are making career choices, stick to local/national postings, and if you want to see an overall worldwide trend, you have to aggregate data from enough sources.

    1. Re:TIOBE methodology is so flawed it's pointless by gzipped_tar · · Score: 5, Insightful

      > I mean, hits such as "programming in PHP sucks" or
      > "you must be an idiot to write production code in VB"
      > would count as +1 for PHP and VB, correspondingly!

      This is the true spirit of our times. Any publicity is good publicity.

      --
      Colorless green Cthulhu waits dreaming furiously.
    2. Re:TIOBE methodology is so flawed it's pointless by Vellmont · · Score: 5, Insightful

      What, you don't think Google Go, a language even Google doesn't use in production is just a hair less popular than PL/SQL, the programming language used in an Oracle DB for the last 18 years?

      Shocking!

      --
      AccountKiller
    3. Re:TIOBE methodology is so flawed it's pointless by MrMista_B · · Score: 5, Funny

      > This is the true spirit of our times. Any publicity is good publicity.

      People falsely accused of pedophilia would beg to differ.

    4. Re:TIOBE methodology is so flawed it's pointless by Trepidity · · Score: 5, Funny

      Huh, I could've sworn Java was over 18 by now. Oops.

  3. Java by Andy+Smith · · Score: 5, Interesting

    I expect Java to gain ground again as developers create apps for Android phones.

    Although the bare-bones Nexus One hasn't sold in huge numbers, HTC have already produced several superb Android-based alternatives, such as the Legend and the Desire. If/when Android becomes the commonplace operating system in the smartphone market, this will lead to a rise in Java development.

    In fact, to join in with the recent Apple-bashing (which I whole-heartedly agree with), I'd suggest that mobile app development will move away from the iPhone, in favour of Android phones. When you are investing time and money in app development, there is simply more certainty in developing apps that will live or die on their merits, as opposed to Apple's 'approval' process.

    It is now over 2 weeks since Opera Mini was submitted to Apple for approval:
    http://my.opera.com/community/countup/

    1. Re:Java by Niten · · Score: 5, Interesting

      I expect Android to be where the lion's share of Java development happens in the next few years

      This is a joke, right? You must have no sense of how broadly Java is used in the industry. Even if Android were to surpass the iPhone in popularity, all the Android apps put together would be just a drop in the bucket next to the massive, active Java codebase in other sectors.

      You're onto something with regard to JavaScript's importance, on the other hand, but I'd hardly call that "regrettable". It has its quirks (coerced concatenation with the + operator, some math gotchas), but on the whole it's an excellent programming language, as dynamic imperative languages go. I'm surprised at the extent to which the language is still misunderstood... think of it as Lisp in C's clothing.

  4. 0.007% by westlake · · Score: 5, Insightful

    The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, Wikipedia and YouTube are used to calculate the ratings

    I feel so much confidence in these numbers.
     

    1. Re:0.007% by corbettw · · Score: 5, Funny

      Why not? Hell, I know when I want to check out the goings on in programming the first and last place I turn is YouTube.

      --
      God invented whiskey so the Irish would not rule the world.
  5. Re:Why C? by binarylarry · · Score: 5, Interesting

    C and Java are for different things.

    C is a great systems language, it lets you get great performance, interact directly with the hardware and still stay fairly portable. Java is a great applications language, it lets you get work done quickly, runs very fast and is extremely portable and secure (which is getting more important everyday as Microsoft's grip on the desktop industry is on a slow but seriously downward trend).

    It makes sense that these two would be at the top, popularity wise.

    --
    Mod me down, my New Earth Global Warmingist friends!
  6. Re:Submitter bias: Java's "downward trend" by ozbird · · Score: 5, Funny

    C rising due to global warming. Film at 11.

  7. Re:Why C? by ucblockhead · · Score: 5, Funny

    Java is extremely portable. A Java application can be run anywhere someone wrote a VM for it in C or C++.

    --
    The cake is a pie
  8. Re:Java is crap anyway by Culture20 · · Score: 5, Funny

    And nothing more nightmarish than bad assembly.

    (I (disagree (there (is (a (missing) (parenthesis (somewhere)) in)) (your Lisp code)))

  9. C-whatever by NicknamesAreStupid · · Score: 5, Interesting

    C has become the English of computer languages. There are so many derivatives - C++, C#, 'Objective-C', Java, and all those other web scripting languages like Actionscript and PHP -- that I can't even keep track of them all. Their syntax are so similar, yet their libraries are from different planets. As for K&R's C, it is probably like the Queen's English - rarely spoken well and often slurred.

    Remember when languages really looked different - COBOL, PL/1, Fortran, Lisp? I date myself.

    1. Re:C-whatever by FlyingGuy · · Score: 4, Interesting

      That's a good comparison. Like the queens english, C is becoming outdated - people want to do more by using the 100,000 lines of someone else's library routines. I think it's the equivalent of the evolution of smileys and lolz :)

      There, fixed that for ya.

      Read your insurance policy sometime. No I mean really read it. The reason for all that arcane language is because for the last 500 years it has been picked over, argued about, refined and re-worked until everyone agreed what the definition of "is" really is.

      The problems with most of the "quote" modern languages is that know one agrees on one object model. Everyone does theirs differently, but guess what, they are all written in two languages and those are C and Assembler.

      Pick just about ANY language out there, go ahead pick any one of them. It was written in C or C and Assembler. Even the ones that now can compile themselves the main language used to build the compiler that can compile itself was, wait for it... C.

      While C may indeed be the "Queens English" it is still the Queens English and is the root of all other dialects and will remain so.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    2. Re:C-whatever by Lunix+Nutcase · · Score: 4, Informative

      Amusingly enough, the interpreters/compilers for all those languages were originally developed in C and/or C++.

      It would have been rather hard for the original Lisp compiler to be written in C since it predates the existence of C by almost a decade. Not to mention how for a decade or more that Lisp was pretty much running only on Lisp machines that were built to natively execute Lisp code. And most of the original Smalltalk implementations were also not written in C.

    3. Re:C-whatever by Lunix+Nutcase · · Score: 4, Insightful

      If you use Python, Java or whatever you are too far away from the metal to do the interesting stuff.

      That's because they are specifically designed to abstract away the computer hardware.

  10. Re:Why C? by binarylarry · · Score: 5, Interesting

    That was partially my point. Java's security track record for applications is amazing. Look at the current generation game consoles, the only console that has yet to be exploited for piracy in a practical fashion has a Java based security framework.

    Java also powers most of the major internet applications available today.

    But Java isn't great at everything, C fits in places Java doesn't.

    --
    Mod me down, my New Earth Global Warmingist friends!
  11. Re:Why C? by slimjim8094 · · Score: 4, Insightful

    Your point is?

    What I think you're being snide about (how Java still depends on C) is misguided. That's the point - nobody's saying your system programming languages are dead. At the end of the day, something needs to be a straight sequence of 0s and 1s that the processor can just run, and that's where C dominates. There's a lot of things (like scheduling algorithms) that really can't be written in a higher level language, either.

    But at this point, the only reasons you'd need to use C would be for low-level systems programming, as a base for another language (interpreter/JIT VM), or anywhere where you *really* need to manage your own memory or get close-to-assembly performance. (not) Coincidentally, this covers just about everything C is used for nowadays. Many small utilities are now written in Python, particularly small accessory GUI programs on Linux.

    Fact is, a higher level language like Java is just faster to program in, and for a basic application it's more than fast enough. But we'll never lose C, at least because all these higher-level fancy applications need to run on something, and nobody wants to write that "something" in straight assembly.

    --
    I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
  12. Re:More mention of C by Animats · · Score: 4, Interesting

    K&R's book on C is wordy. The true classic is the Revised Report on the Algorithmic Language ALGOL-60. In its original typeset form, it is 19 pages.

    Languages which need 1000-page books are badly designed.

  13. Re:Java is crap anyway by Courageous · · Score: 5, Funny

    Well it could have been worse.

    <I><disagree><there><is><a><missing><parenthesis><somewhere><in><your><lisp><code></code></lisp></your></in></somewhere></parenthesis></missing></a></is></there></disagree></I>

  14. Re:Java is crap anyway by Gr8Apes · · Score: 4, Interesting

    If the only reason you have the IoC code in your code is to facilitate testing, then the IoC code is test code.

    MVC (in Spring3)? Really? You mean MVC in Spring 1.x or Spring 2.x sucked? Say it isn't so! So now MVC in Spring 3 is the cat's meow? Excuse me while I take a pass.

    Spring's transactions are a massive headache when you need to alter or overload a specific operation. Yeah, it seems "cool" when a simple annotation will give you a "transaction", but later on, when you need to modify one bit of code somewhere in the stream or if you're really daring, have a transaction with rollbacks across multiple operations that weren't envisioned in the original design.... let's just agree to disagree and you can deal with all the crap that Spring heaps on you while you cut and paste code and debug it a week later when individual operations change due to changing requirements and I'll be at the bar sipping something cold and enjoying myself after an hour or two's work.

    You didn't even mention Spring Security (ie, Acegi) which was so horribly broken 1.5 years ago that it is completely unusable in anything resembling a commercial application. Why, you ask? (I just know that was on the tip of your tongue) Because Acegi as of the current release at that time uses a token held by a thread, and limited the ability of a token to be held to a single thread. In layman's terms - there's only a single lane on the highway, folks.

    I still stand by my statement of years ago: Spring is a solution in search of a problem and is a source of not so subtle bugs which most will only realize once they're in far too deep to easily pull out. It truly deserves a picture next to the kool-aid in the wikipedia story about project killers.

    I will agree that JUnit4 is pretty darn decent all by itself. Without Spring.

    And just in case you think I haven't worked with it - I've dealt with 4 separate large projects and analyzed the problems in various external codebases in 3 different companies that bought into the Spring kool-aid all the way back to before Spring 1.0. I shamefully admit I was even a proponent in the early days, before I actually used it in a big project. Now Spring has joined Apache Commons in the list of libraries to remove asap.

    --
    The cesspool just got a check and balance.
  15. Re:Submitter bias: Java's "downward trend" by Hooya · · Score: 5, Funny

    > Film at 11.

    You're off by 1. The film is actually at 10.

  16. Re:Java is crap anyway by Score+Whore · · Score: 4, Funny

    Meh. When I want to show people how bad perl is, I just open up a text editor. Mash my face against the keyboard a couple of times. Then point out that the resulting gibberish is valid perl.

  17. Re:But what about Johnny Mathis versus Diet Pepsi? by Anonymous Coward · · Score: 4, Funny

    I write ISAPI filters to serve up WebGL enabled sites you insensitive clod!

  18. Re:Submitter bias: Java's "downward trend" by Anonymous Coward · · Score: 4, Funny

    Suggested title: An Inconvenient Knuth