Follow Slashdot stories on Twitter


Forgot your password?
Programming PHP Python Ruby Stats News

2011's Fastest Growing Language: Objective-C 356

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?"
This discussion has been archived. No new comments can be posted.

2011's Fastest Growing Language: Objective-C

Comments Filter:
  • by Anonymous Coward on Friday January 13, 2012 @05:39PM (#38691750)

    Have you ever noticed that people can sorta hijack Slashdot threads by simply posting a reply to the first post? This makes them the irrevocable second post in the thread.

    To show your appreciation of this "feature," please reply to this post with something completely different.

  • Re:Objective C (Score:4, Insightful)

    by antitithenai ( 2552442 ) on Friday January 13, 2012 @05:39PM (#38691754)
    Which doesn't change the fact at all, and only shows the importance of iOS.
  • Re:Objective C (Score:4, Insightful)

    by Anonymous Coward on Friday January 13, 2012 @05:42PM (#38691786)

    Actually, that would be the case if the news was "Objective-C is the most popular language for iOS development". If orange jumpsuits would be one of the most used form of clothing everywhere because they are used in prison, well, that would be newsworthy...

  • Re:Objective C (Score:5, Insightful)

    by SpinyNorman ( 33776 ) on Friday January 13, 2012 @05:43PM (#38691800)

    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.

  • Re:Moderators? (Score:2, Insightful)

    by Anonymous Coward on Friday January 13, 2012 @05:43PM (#38691802)
    It's funny because the analogy is funny. Was it really that hard to figure that out?
  • Re:Objective C (Score:5, Insightful)

    by DanTheStone ( 1212500 ) on Friday January 13, 2012 @05:45PM (#38691828)
    Different definition of popular. This is using it in the "most used" sense, not the "most liked" sense.
  • Re:Objective C (Score:5, Insightful)

    by nobodyman ( 90587 ) * on Friday January 13, 2012 @05:47PM (#38691860) Homepage

    Actually that's not even remotely true. You always had option of using C and C++ in addition to Objective C, and ever since apple removed the language restriction you can use whatever language you wish so long as it compiles to native code, resides in the app bundle, and doesn't use undocumented API calls. In fact many games are written in C# using monotouch.

    But even if your statement was correct, I'm not sure it's relevant. There are lots of environments that *require* Java development, so do we then apply some sort of negative weighting to it's rank on the TIOBE index? If it's popular it's popular.

  • Re:Objective C (Score:4, Insightful)

    by Anonymous Coward on Friday January 13, 2012 @05:48PM (#38691872)

    And on that note, it really shouldn't be called "Objective-C" but rather "Apple's bastardized take on Objective-C."

    Objective-C is what ever Apple says it is since they for all intents and purposes owns it. They are only only people that make an Objective C compiler so they get to define the language.

  • Re:C# (Score:5, Insightful)

    by Nerdfest ( 867930 ) on Friday January 13, 2012 @05:51PM (#38691898)
    So the rosy future of software development directed and controlled by Microsoft and Apple? Awesome. I'm sure that will work out well for all involved.
  • Re:C# (Score:5, Insightful)

    by samkass ( 174571 ) on Friday January 13, 2012 @06:02PM (#38692014) Homepage Journal

    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#.

  • Re:Objective C (Score:4, Insightful)

    by shutdown -p now ( 807394 ) on Friday January 13, 2012 @06:05PM (#38692050) Journal

    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.

  • Re:Objective C (Score:5, Insightful)

    by VGPowerlord ( 621254 ) on Friday January 13, 2012 @06:30PM (#38692330)

    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)...

  • Re:C# (Score:2, Insightful)

    by JoeMerchant ( 803320 ) on Friday January 13, 2012 @06:31PM (#38692342)

    Interesting how both Objective C and C# are walled garden languages - sure, they're both "open" but in reality, you use them inside walled gardens.

  • by Timbo ( 75953 ) on Friday January 13, 2012 @06:34PM (#38692378) Homepage

    You sometimes hear this said about Obj-C and it is somewhat true. It's syntax is a little outdated in comparison to some of the more modern languages but other things like the dynamic typing being a big issue are long since history; Objective-C compilers will now give you a lot more compile time information and make these kind of runtime errors largely a thing of the past. Obj-C is far from perfect but it's a much nicer language than the bloated hell that is C++.

    Compilers can only compensate for the language's failures, not fix them. Having said that, the 'Analyze' option in Xcode 4 is pretty good.

    Language bloat isn't a problem in itself. You are free not to use the features you consider bloat, at no cost. Where it does become a problem is when new language features are shoe-horned with every effort not to break compatibility. The result is obscure new syntax and existing features that should have gone the way of the Dodo. This is where C++11 is, if you ask me.

  • by Joce640k ( 829181 ) on Friday January 13, 2012 @06:44PM (#38692484) Homepage

    If all that index does is count web pages that mention a language then isn't it more likely to be a measure of how many problems people are having with a language? Languages which "just work" would get fewer hits than those which don't.

  • by BasilBrush ( 643681 ) on Friday January 13, 2012 @07:02PM (#38692690)

    It's a good hypothesis, but it's pretty easy to test. The TIOBE Index searches the top search engines for the name of the language, followed by the word programming, as a phrase. e.g. "BASIC programming", "C programming".

    I've just searched Google for "Objective-C programming" and most of the results are related to language related books, web tutorials and other related resources. Not problems.

    The guys at TIOBE perhaps aren't so stupid.

  • by GauteL ( 29207 ) on Friday January 13, 2012 @07:13PM (#38692820)

    Your job security and desirability as a programmer is more about domain knowledge than anything else. C++ and engineering knowledge will still carry you much much further than C# and fuck all.

    Seriously, if you know C++ and you're thinking it might be outdated, by all means start looking at more modern languages, but the one thing that will ensure your success is to know more about the field you're working in.

  • by AmbushBug ( 71207 ) on Friday January 13, 2012 @07:15PM (#38692832)

    Objective-C's growth in popularity coincides with the Flurry Analytics study [] 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.

  • by jockm ( 233372 ) on Friday January 13, 2012 @07:35PM (#38693014) Homepage

    My boss and I believed that in '87, it is (IMHO) far better than C++, and at the time it had a great chance. Obj-C was a great language for the time, probably the most advanced practical OO language of the time. Sadly it never got any traction until NeXT.

    Sadder still is the fact that it didn't keep up with the time. It is still state of the art for the late 80s/early 90s; but languages moved on and improved. If they eliminated the need for separate header files (including getting rid of the declaration/implementation divide), added keywords to get rid of the need for the CPP, added autoboxing, and improved runtime errors; it would be a world class language (again).

    As an aside Cocoa is a wonderful and powerful class library, with one major flaw: needlesslyLongAndOverSpecific method names. Where Smalltalk was content with anArray getAt: someIndex NeXT decided to drive in the fact that you were getting an object: [anArray objectAtIndex: someIndex], despite the fact that a NSArray can only old objects. That is a mild example, but the power in the library is amazing.

    Sadly the stewards of Obj-C still seem to think the language is fine as it is, which is a shame. The lamdbas are nice though...

  • by Joce640k ( 829181 ) on Friday January 13, 2012 @07:41PM (#38693086) Homepage

    I'm not saying the list isn't accurate ... it's just that I can imagine too many plausible ways of skewing it.

    eg. Book publishers might be looking at that list when they decide what books to publish each year. This creates a feedback loop where their own books push a language up the list.

  • by epine ( 68316 ) on Friday January 13, 2012 @07:45PM (#38693116)

    C++ is doing very badly on the long-term trends - that's not merely a product of templates, it would seem to me that it indicates something more serious.

    How the heck did you factor templates out of the equation? I am not a member of the Order of the Crystal Ball. Please enlighten me. For the last seven years, C++ has frequently crisscrossed 10% (of what, one wonders) most recently about six months ago if I skimmed the chart correctly. It's a small uptick shy of steady state.

    I don't think C++ really should have become as popular as it once was. I'm sure it was supplanted in many cases for languages better suited to task, with automatic instead of standard transmissions, as the automatic transmissions improved over time. C++ is best used where the constraints on the acceptable solution are more severe than constraints of available talent. Scaling out Google or Facebook are good examples. Even there, C++ is best applied selectively. Or if you already have the skills, there are a lot of computations where C++ is easy enough to code and nearly impossible to beat.

    I would say that the education cost of C++ mastery is just too much for most coders. Few people working on the hardest problems give much thought to education cost, however, if the lever rocks your world. I've never seen templates as being conceptually difficult. The problem has always been the diagnostics. It would have been nice to have something like concepts, or perhaps the vastly improved Clang diagnostics will mitigate matters enough.

    I'm mostly using R these days and calling out to C++ where I get the most bang for my buck.

  • by Massacrifice ( 249974 ) on Friday January 13, 2012 @08:05PM (#38693324)

    Somehow, I trust your metric much, much more than any other "analystics" website - usually nothing more than a PR firm in disguise.

  • by Sycraft-fu ( 314770 ) on Friday January 13, 2012 @08:35PM (#38693598)

    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.

  • Re:C# (Score:5, Insightful)

    by bsane ( 148894 ) on Friday January 13, 2012 @10:10PM (#38694388)

    If you think JavaScript can or should replace strongly typed, compiled languages then you are severely deluding yourself.

    At present C, C#, Objective-C, and Java are still your best bets

    You realize that one of those four isn't strongly typed, and doesn't resolve method calls until runtime?

  • by SuperKendall ( 25149 ) on Friday January 13, 2012 @10:12PM (#38694398)

    StackOverflow is a great general purpose site, but was started by two guys VERY heavy into Microsoft and .Net technologies. As such, the C# guys jumped on it en masse, and so they are significantly over-represented here - there were already a lot of sites discussing Java and it takes time to migrate people over.

    Objective-C users really had no other great public forums so StackOverflow quickly became a major hub for Objective-C information.

  • by adamdoyle ( 1665063 ) on Friday January 13, 2012 @10:59PM (#38694682)

    The problem with this is that you're not considering the total number of questions per tag. The tags you said "none" for at the bottom are (1) not actually "none", and (2) not very popular tags.

    Here is a full table with percentages, where you can see that there isn't much of a difference between languages with respect to the percentage of unanswered questions: (in order of ascending percentage)

    Unanswered: 11,735 / 68,034 = 17.25%
    Unanswered: 26,932 / 165,543 = 16.27%
    Unanswered: 10 / 67 = 14.93%
    Unanswered: 26,697 / 181,413 = 14.72%
    Unanswered: 28,050 / 195,957 = 14.31%
    Unanswered: 5,074 / 37,266 = 13.62%
    Unanswered: 31,934 / 255,266 = 12.51%
    Unanswered: 9,065 / 88,496 = 10.24%
    Unanswered: 8,012 / 104,647 = 7.66%
    Unanswered: 3,006 / 48,720 = 6.17%
    Unanswered: 879 / 15,600 = 5.63%
    Unanswered: 28 / 1,629 = 1.72%

    Also, who's to say that Objective-C questions are the same level of difficulty as all of the others. Also not considered is the type of programmer who answers questions on Stack Overflow. Perhaps it's mostly professional C++ and C# developers (which would explain why there are lots of C# and C++ questions with a small percentage of unanswered questions) that mostly answer languages they know but occasionally answer some of the other languages that they may not know as well.

  • by maple_shaft ( 1046302 ) on Saturday January 14, 2012 @12:29AM (#38695092)

    Objective-C users really had no other great public forums so StackOverflow quickly became a major hub for Objective-C information.

    And therein lies one of the main problems, StackOverflow is a Q&A site, not a programming forum. This doesn't help prevent the under educated masses from flooding the site with their *"PLZ TEH CODEZ!"* cancer and letting once active contributing users like me eventually begin to give up.

    I know that this isn't exclusive to Objective-C developers at all, and I don't begrudge them for not having even the most rudimentary of programming skills, I begrudge them because they don't know how to ask a damn question. If I got a dollar for every time some idiot asked what was wrong without posting their code, what they have tried, and what versions of X they are using then I could retire to the Caribbean.

    Like any other bubble right now, iPhone apps will plummet in value and the disgusting amount of money invested in making apps that nobody wants based on horrible ideas will dry up, leaving a large swath of unemployable idiots paying the price. Of course those of us who what the hell we are doing will be fine. It happened after the .com crash, it will again soon with mobile apps.

  • by Smallpond ( 221300 ) on Saturday January 14, 2012 @02:07AM (#38695450) Homepage Journal

    I think it reflects the activity in the language and the number of new, untrained programmers starting out on it.

Forty two.