2011's Fastest Growing Language: Objective-C
mikejuk writes "Every January, it is traditional to compare the state of programming language usage as indicated by the TIOBE index. So what's up and what's down this year? The top language is still Java, but it's slowly falling in the percentages. Objective-C experienced the most growth, followed by C# and C. JavaScript climbed back into the top 10, displacing Ruby. Python and PHP experienced the biggest drops. If you like outside runners, then cheer for Lua and R, which have just entered the top 20. However, I have to wonder why Logo is in the top 20 as well. I know programming education is becoming important, but Logo?"
Of course it changes the facts - it's not Objective-C that's popular - it's the iPhone that's popular. If the language itself was popular then we'd see it being used where it was a choice, not a necessity.
I suspect that both C# and Objective-C market share will only continue - probably even taking the top spots. Windows Phone 7 uses mainly C# and so will Metro apps on Windows 8. Frankly, it is a really good language and beautiful to work with. Likewise Objective-C is strong because of iOS and OS X. Java is slowly dropping from enterprise usage and is being replaced by C#.
Your argument about C# is spot-on on the client side, but I have yet to see any significant movement from Java to C# on the enterprise side. If anything, enterprises are continuing to build larger and larger installed bases of Java software that's further locking them in. In addition, I see a general distrust of Mono and a liking for Linux that biases them against C#.
E pluribus unum
And on that note, it really shouldn't be called "Objective-C" but rather "Apple's bastardized take on Objective-C."
Obj-C is a proprietary language, in a sense that it is unilaterally defined by a single entity. Said entity in this case was Stepstone, then NeXT, and now Apple. There's no ANSI or ISO Obj-C, nor any other standard, outside of the language spec that Apple publishes. So it's kinda silly to blame them for not toeing the line. If anything, you should blame GNUstep for not keeping up.
Incidentally, this also applies to just about every language on the list other than C.
Just to name a few: Java (Oracle), C# (Microsoft), JavaScript (Mozilla nee Netscape), PHP (The PHP Group), Ruby (Yukihiro Matsumoto), Python (Guido van Rossum)...
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
Objective-C's growth in popularity coincides with the Flurry Analytics study [flurry.com] that showed most mobile developers targeting iOS, with support for Android dropping by a third over 2011.
The Flurry Analytics study is flawed in that it only counts devs using Flurry. As others have pointed out, most Android devs use the free Google Analytics. This biases the Flurry study towards iOS.
As a simple example pretty much every videogame is written in it (C++ usually). On Windows it is almost always Visual C++, in particular because for the 360 that is what you have to use. The PS3 doesn't use VC++, of course, but it does use a C language for processor programming and nVidia's CG for programming the GPU (if you need more fine control than OpenGL ES offers). Go look at any posting for a programmer for a game company, see what language they are asking for.
Now obvious to anyone who's looked around that games are HUGE. Lots and lots of development going towards videogames. It's a large and profitable market.
In terms of pure C, that still reigns supreme in the embedded world and man is there a lot of that going on. we have tons of embedded devices, in things you'd never even think of.
The problem is as you note these guys use the "What are people chattering about," method, as do many people on Slashdot. They think because there's a lot of buzz about something that means it is in heavy use. Not really. There's no buzz about C++ because it is well established, but that doesn't mean it isn't getting used. It means the people using it don't feel the need to go on about it.