Who Cheers For C When It Wins A Popularity Contest?
from the we've-got-spirit,-how-'bout-you? dept
While there are a variety of ways to judge the popularity of various programming languages, the TIOBE Programming Community index has ranked C as the most popular language for the first time in 4 years. At the top spot, C has no official corporate sponsor behind it — but it’s still available for nearly every platform imaginable. And arguably, it has always been the most popular programming language if all of its variants (C, C++, C#, Objective C) are counted together.
Interestingly, though, other notable languages that have risen in popularity have done so under the direction of large corporations. For example, Apple is the main cheerleader behind the recent popularity of Objective C — especially as this superset of C is now one of only 4 languages approved for coding iPhone/iPod/iPad apps. Also, Google’s Go language has been getting noticed because it’s a shiny new offering from everyone’s favorite “do no evil” buddy — and because it explicitly supports concurrent programming.
But with no major company pushing for C, it may be getting a bit long in the tooth as multi-core processors inspire programmers to increasingly use multi-threading techniques. C will certainly never die, but the last revision of C was adopted as an ANSI standard in March 2000. So it’s been quite some time since C has been updated. In fact, the ISO’s proposals for C changes also appear to be pretty conservative — which is a good thing for stability and eliminating any confusion over what is supported. But will C be able to evolve and stay relevant?
Filed Under: c, programming
Comments on “Who Cheers For C When It Wins A Popularity Contest?”
The Tiobe index is highly criticized by most programmers
The Index is highly criticized by most programmers I know; both in how they define what a language is; and how they collect their stats.
SQL is not a programming language because you can’t write an infinite loop in it? ColdFusion is a framework? Both ridiculous.
That said; so long as they keep their methods of calculating use consistent it might make an interesting study.
it'll be the programming version of Latin.
C will eventually become a language that only crippled devices use. Multicore computers will begin to require fancier languages. And C wont be able to catch up. I’m sure C# and Objective C will totally replace C. Mark my words!
Re: it'll be the programming version of Latin.
C will be around for a while yet. There are far too many areas that require a transparency for code verification that is not supported by newer languages like C# and Objective C. While the newer languages are great for new software in non-safety-critical applications. C will stick around for a while yet in areas like avionics and medical devices.
Re: Re: Great insight.
I think people calling for “C” to go away are not cognizant of the software industry as a whole. “C” is a very transparent language that provides for strict type checking with the right compiler flags set. This provides a great language for a host of applications from embedded controls to safety critical systems.
Languages like Objective C, Java and C#, while making the task “simpler”, obfuscate greatly what is actually executing making high quality/detailed verification much more involved. While it is easy to verify the code you actually write, there is so much going on under the scenes that is NOT verified using these languages in many applications is simply forbidden.
Re: it'll be the programming version of Latin.
Many guys said your stuff many years ago many times. It turned out that they became jokes, and you are probably not much better either.
What the point
Avionics and medical in mission critical area’s tend to use Ada, C is primary a systems engineering language, it’s still the primary OS programming language. And it rules in the embedded world because of it’s low level capabilites and ability to intergrate with hardware and assemby code easily. C has a very right set of compiler tools for most micros making it the go too language for embedded.
All the ‘other’ programming languages are built basically on C and are simple higher levels of abstraction taking you further and further away from the real underlying code.
Its easier for the programmer, (more simple), but takes away some control.
For truly nice high level programming language try downloading the trial version of LabVIEW, from National Instruments and have a play with G the graphical programming language they use.. It’s very hard to go back to text based programming after using it.
Anonymous Coward has it right and Darryl is lost.
“C” has and will be around for a long time because of one simple fact. It is simple and it works. There is a GIANT misconception in the tech world that all programming is about desktops, iPods, Android and iPhones. That covers a small amount of the software that is out there.
When you look at your car (and the 100,000’s of lines of code in all its systems), microwave ovens (and the 1,000’s of lines of code in each one), avionics (and the 10,000,000’s of lines of code to talk to various sub-systems), remote controls (and the 1,000’s of lines of code in each one) and hundreds of other devices.
These embedded devices require a level of code testing and transparency simply not offered by “higher level” languages. JAVA, however, has a strong (but still weak compared to “C”) embedded standing.
In short, the embedded market is HUGE. Simple HUGE. And it is almost all “C” with some assembly. Multi-core? Who cares. Ada? Dead and almost not used in any avionics systems even in the military. Yes, the C-17 and B1B are “C” based now-a-days with Ada being phased out of all systems.
I was raised on UNIC/C so I have to admit a prejudice. Almost all of both Windows and UNIX/Linux are written in C. The best and fastest math libraries are written in C. C is the fastest language and all other modern languages are derivatives of it. Multicore programming? Multithreading and multicore programming are not the same thing. The latter requires intelligence. Just because C is everywhere doesn’t make it better – just look at COBOL. C is better because of it’s capabilities.
C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, you blow your whole leg off.
— Bjarne Stroustrup
Thanks for posting this interesting article, very helpful. Neck in neck with C++?
I agree with Steve. With desktops getting more powerful, it seems dumb to use c as it is very tedious and time consuming, however it is simple, precise, and sparing of machine resources. It is complete control, everything embedded devices need short of assembly, and there are so many more embedded devices than desktops.
future of c
Many of the popular devices coming out today are supporting the popular OO languages in their SDK’s. More powerful internals make C less necessary. But no one has mentioned those industries that are obsessed with speed. Financial and communication are two I think of. It’s hard to find the combination of blazing execution and portability that C offers.
C is the best language and in fact many language is developed using c.All the ‘other’ programming languages are built basically on C and are simple higher levels of abstraction taking you further and further away from the real underlying code.But now it is getting down.if you need to know what are best languages most used in many websites.Refer sitesxray.