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."
Not a surprise, Java is crap...
but shouldn't it really be at number 0?
Any sufficiently advanced technology is indistinguishable from a rigged demo. -- James Klass
The news is maybe that objective C are really gaining momentum and are soon on the top 10. With the Ipad coming out and strong mac sales it will continue to become more important.
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.
"Java has a long term downward trend". Wrong. For one, C and Java share the same "downward trend" from 2002 (earliest year on the chart) and 2007. From 2007 to late last year, both C and Java basically stay about the same. Only in the last 6 months or so can you say Java has been doing down and C rising.
In a real emergency, we would have all fled in terror, and you would not have been notified.
There is no way these numbers are anywhere near an approximation of reality.
How many people have real jobs where they get paid to program in Go full-time? Ten guys in the whole world maybe? But it's ranked 15. But when you look at Groovy (the JVM dynamic language) it's ranked at #44, and I personally know at least 20 developers who've used it at a variety of companies (and get paid to do so).
I don't trust these stats at all.
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/
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.
As an old C programmer (who actually is looking to get back into development) what kinds of apps make C popular (over C++) seems a lot of the stuff on the web made me feel out of date because I didn't know C++ as well or some other OO based language. I also think that while the overall ranking of a language is something to consider, it does seem that various specialties favor a few languages (web, gaming, scientific, business etc.) so that should be taken into consideration as well.
The Reinvigorated Programmer
Seems about as relevant as ranking programming languages to their popularity. Does the fact that C is #1 mean I should start writing my websites with it (I've done it, actually...and it was extremely fast and extremely painful)?
I don't see how this metric has any use at all, especially given their criteria for determining popularity.
Check out the graph for Perl! I might start using it again just because I feel like I owe it to the old friend...
Back in the Bush I recession, COBOL was the hip language to learn.
Is naturally, LOGO!
Visit the Arcade Restoration Workshop @ http://www.arcaderestoration.com
I am curious if anyone has any insight on what happened in 2004 to cause such a spike in python's "Rating". http://www.tiobe.com/index.php/paperinfo/tpci/Python.html
Job listings don't mean very much.
Employees that are very happy with a language, and productive in it, might keep their jobs for years; you may never even know that their companies were using that language. One productive employee might do the job of 10 people in some other language, and maybe that's why they aren't hiring.
Some job postings only made me cringe when I saw them, and many make me think to myself: "all-Microsoft shop, never heard of what X, Y or Z can do". Just because there's a job available, doesn't mean the language is popular; it might even mean the opposite, i.e. all the sane people jumped ship months ago, instead of trying to maintain a steaming pile of code, that a company is now desperately trying to hire people to support.
Don't ever learn one of the stupid programming languages just to get a job. Do something you enjoy...make money without programming if you have to, for awhile, until you find a job that requires languages and platforms that you actually like and can be productive in. Nothing else is worthwhile.
"Microsoft killed my company, I hold a personal grudge. I don't use Microsoft products and neither should you."-JWZ
As a long time C++ programmer who recently went back to C, I can tell you that C feels like a different language if you use it with all the skills you acquired from other languages. As a language C is almost perfect. It's the libraries that makes all the difference.
incompatibilities And that the fllor Codebase became OpenBSD guys. They Yvariations on the Consider worthwhile the facts and
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.
Interesting game: http://www.sporcle.com/games/moogles/programlanguages. Obviously their rankings differ from those in tiobe.
Time-Travelling Brandy Theives! The only explanation.
"It's ok, I'm completely secure as long as my iron is off"
Ahh C, All is right with the world again :)
This is a really good read for me, Must admit that you are one of the best bloggers I ever saw.Thanks for posting this informative article. Massage
Ok, maybe this dumb joke will play better in this thread than the first one I posted it in.
Why is noone asking to examine the C programming language, to adapt it to modern programming processes and methods? Why is noone speaking out to defend C as a useful language, to update the aged methods of Kernighan and Ritchie?
Oh, wait. Never mind. That was a stupid question.
Help stamp out iliturcy.
That would be Kombucha. The 'old' ways are still/even more, useful now.
Robot programming has become very big lately, and the overwhelming number of microcontrollers out there only use C/C++ (well, and Assembly, but that doesn't count).
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. online bags
None of my code editors show nested parentheses in progressively larger sizes, but wouldn't that be nice? Or if the editor drew boxes around the nested groups (similar to XCode's cool code-block highlighting), that would be pretty excellent.
-- thinkyhead software and media
The index is 0, but the string at that index in the array is "1".
-- thinkyhead software and media
I see it.
Help stamp out iliturcy.
It's not 19 pages, but it's not 1000 either. You get a lot of book in 272 pages. And the book defines a language that can be used to compile itself (and hence, the book). You don't get that with Algol.
Help stamp out iliturcy.
The telling detail of what is wrong with this index is that Go, a language which:
* Has no employment prospects
* Has not been used to write anything
* Does not even have a stable implementation yet
is at number 15 on the list.
The landscape is changing. Web is a done deal - there's php, java, perl (yes), ruby, asp. What's growing is 'embedded' which I put in quotes because they're actually mini-PC's on small boards. And they're going everywhere, because they cost nothing anymore. And if you have any sense, you program C on them. C is the new assembly.
Religion is what happens when nature strikes and groupthink goes wrong.
I'd totally date myself if I could reproduce asexually.
The problem with PHP isn't so much that it's like a kitchen knife that's dangerous in the hands of a klutz. It's that PHP is like a dull spool that's dangerous in the hands of a klutz.
HAND.
In the "Very Long Term History" section it shows Perl went from #3 in 2000 to #6 in 2006 to #8 in 2010. I'm actually surprised it's still in the top. I know no one who still uses Perl.
Lisp'ers just need you to cons() them into a good palette edit. So take 'em out of their nest in your cars() to an indentist, and C to it. Make sure you get parenthetical permission first, though.
I've fallen off your lawn, and I can't get up.
Brainf*uck is the language of the Future!
You're supposed to allocate the buffer with a guard page at the end. For example, you can use mmap() with PROT_NONE or mprotect() with only PROT_READ. You'll get a SIGSEGV or SIGBUS when gets() reaches the guard page.
Do the gets() call in a child process, let it die on the signal or call _exit() from the handler, and determine success or failure from the process exit status. Alternately you can siglongjmp() out of a signal handler, but you should assume that this leaves the stdin stream with locks taken and thus unusable.
Be sure to put this in server and setuid programs. It gets the hackers all excited, then crushes their dreams.
That's because they are specifically designed to abstract away the computer hardware.
The job won't pay well if any fool can do it.
It also sounds like a world of painful "business logic" shit, which should remind you of COBOL and Visual Basic. At best you get to implement yet another shopping cart or convert the tax code into a computer program. You'll need a lot of vodka to put up with that.
Life is better when you are writing firmware, boot loaders, drivers, exploits, kernels, performance-sensitive code, and so on.
All I get when visiting this site is
"This website requires JavaScript."
Is this a late april fool's joke?
No unsigned = toy language. There's a lot you can do with it, but you can't do network, binary file or device driver work with Java.
"Java also powers most of the major internet applications available today."
Got some stats to back that up or is it just wishful thinking?
Last time I looked Apache was written in C++.
First off, ColdFusion is not a framework. Second I can write infinite loops all day with it and finally I can write entire websites without JavaScript just like a Java developer can. Way to present an unbiased ranking on programming languages...
var node = document.createElement("I");
var n = document.createElement("disagree");
node.appendChild(n);
n = document.createElement("there");
node.appendChild(n);
n = document.createElement("is");
node.appendChild(n);
n = document.createElement("a");
node.appendChild(n);
n = document.createElement("missing");
node.appendChild(n);
n = document.createElement("parenthesis");
node.appendChild(n);
n = document.createElement("somewhere");
node.appendChild(n);
..
-Woof woof woof!
As the CTO of a major global tier one financial services and banking group I manage tons of different software technologies (not to mention the various computing platforms that software has to run on), ranging from Cobol and Java on mainframes to C and TCL on point of sale and EFT terminals through to Java, C# and Visual Basic on servers and ATMs... and of course all the scripting and interpreted languages in between.
I am a dyed in the wool Java person (I personally developed the group's core banking frame work in Java when I still headed up the groups IT architecture division).
I am now a strong advocate for data centre simplification by standardising on .NET for customer facing and branch teller systems (all our teller systems still run on a custom build of OS/2, would you believe)
In my personal capacity (I run a successful independent software development firm as a hobby), I am sold on Embarcadero RAD Studio 2010. To be fair I have been a Delphi fan since version 1 (well since Turbo Pascal 6.0, if you really must know). But switched professionally to Java when JBuilder took off.
Delphi will never enjoy the market position it enjoyed in its heydays... but it remains the staple of the ISV. Lots of software that we use every day is developed using Delphi, ranging from Skype, the Winter Olympics 2010 Rings, Macromedia HomeSite, QuickBooks Point of Sale, Total Commander, Installaware, Yahoo! Go for TV, MySQL Administrator, Dev-C++, TurboCASH , StarUML, SharpE , Cobian Backup, PocoMail, Jabber, XPlite, DynDNS Updater, MultiEdit, SQL Litspeed, CoffeeCup HTML Editor, Windows Shell Extension for M4A music files, PL/SQL Developer and thousands of other software systems that we use every day and take for granted.
So when I started playing with RAD studio 2010, I was impressed at the versatility of the suite. I can do everything from full on .NET (framework 3.5) software development using Microsoft Visual Studio and the Delphi Prism personality to traditional Win32 development. I can even do high performance stuff by taking advantage of the inline assembler and inter-mingling assembly code with my Delphi code. Last night I was impressed that Microsoft tools such as WSDL.exe and XSD.exe were able to generate Delphi code for me to create .NET web services using Delphi directly in Microsoft Visual Studio.
So with Delphi, I have the best of all worlds, and it shouldn't be surprising that as the climate for the independent software developer is getting brighter, we should see a resurgence of those tools that give small development teams platform and technology optionality.
I am very surprised C's increase in popularity came during a recession?
Where the f**k is LOGO?
And if you happen to be developing native application code for Android using the Android NDK or contributing to the Android OS itself, you will be writing it in C.
"What's the use of a good quotation if you can't change it?" - Doctor Who
Android doesn't use java! Android uses a language syntax derived from java, and a VM which is not compatible at all with java bytecode. To bad, because the arm cpu can execute java byte code native. Instead android has to interpretate the non-java byte code and convert it to arm architecture instructions.
These results may be correct sure but their data collection mechanism seems highly suspect.
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.
..very scientific. Vendors in particular strike me as a particularly trustworthy source, citing anything that will sell them products.
I go into the local Borders bookstore and compare the ratio of books on the shelf. According to that metric, Mix is more popular than C if they have The Art of Computer Programming in stock.
C gets an A++
Last time I looked Apache was written in C++.
From Apache's web site, with my emphasis: "Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies."
But why hasn't C gotten a real switch/case statement that doesn't need "break"? "Break" is just plain dumb. (And you don't need multi-fall-through if the matcher can take multiple items.)
Table-ized A.I.
Colorless green Cthulhu waits dreaming furiously. Is this a Chomsky reference?
Speaking of which, C now stands for Citigroup according to Google.
Huh? Your search shows "C programming language" as the first hit. "C is for cookie" comes before the citigroup hits.
Google returns different results for different people.
In fairness to the original poster, when I go to that link, the FIRST THREE links in the google results are in fact for Citigroup for me, as well as link #6. Seriously.
And none of the links are on the first page even mention "C is for cookie", despite my appreciation for tasty cookies of the edible variety.
nor programming languages in general if you think Java and C# has weak typing. Learn a little before spouting off. (But then, this is slashdot, so maybe I shouldn't be surprised.)
I have found a very interesting paper called "Are Scripting Languages Any Good? A Validation of Perl, Python, Rexx, and Tcl against C, C++, and Java"(2002).
You can find it here --> http://page.mi.fu-berlin.de/prechelt/Biblio//jccpprt2_advances2003.pdf
Here is the abstract copied from the paper:
Four scripting languages are introduced shortly and their theoretical and purported characteristics are discussed and related to three more conventional programming lan- guages. Then the comparison is extended to an objective empirical one using 80 imple- mentations of the same set of requirements, created by 74 different programmers. The limitations of the empirical data are laid out and discussed and then the 80 implementa- tions are compared for several properties, such as run time, memory consumption, source text length, comment density, program structure, reliability, and the amount of effort re- quired for writing them. The results indicate that, for the given programming problem, “scripting languages” (Perl, Python, Rexx, Tcl) are more productive than conventional languages. In terms of run time and memory consumption, they often turn out better than Java and not much worse than C or C++. In general, the differences between languages tend to be smaller than the typical differences due to different programmers within the same language.
After reading the article I got so inspired that I decided to try and solve the programming problem using C++(and I finished it). It is a logical problem that will show the programming languages performance.
If you are only interested in the programming problem you can see the website here --> http://page.mi.fu-berlin.de/prechelt/phonecode/
This paper is dated 2002 so I guess there has been a lot of updates to many of the programming languages used in this study. It would be very nice if we could do an up to date comparison today to see how big of a difference it is today. Perhaps we are mostly interested in performance, memory consumption, code length, development time. What do you think? Any takers on this?
Regards,
Krangelmat
After programming in various programming languages over the course of my career e.g. C,C++,Perl,Cobol,Pascal,Java etc. what I find is that every language is actually suitable for a particlar business use case. For example: C/C++ are good for application which rely heavily on performance, such as trading application where the application needs to deal with real time data and calculations is done in milliseconds. Though Java on the other hand is a good language for the Web or Business application where though we do need performance it is a lot less compared to what a trading application would require. Also, over the past 10 years we have seen that languages have been constantly evolving with the evolution of Personal Computing. Therefore rather than focusing on becoming a master in one programming language it would be better to have a general know how about the language constructs which would make it easier to come onboard when the senior management decided to use another language. Unfortunately the schools today have started teaching their courses in languages such as Java, which though "might" help students find a job will mostly leave them with a weak foundation. In our times the schools use to teach most of the courses in C, and courses such as compiler design and programming langauges were compulsary. Also all the core courses were in C/C++ and we had some auxillary courses which offered Java/ VB etc. This made our foundation strong and have help "me" in the long run...