Slashdot Mirror


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?"

16 of 356 comments (clear)

  1. Objective-C growth by bonch · · Score: 5, Interesting

    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. C# will probably continue to see increasing interest because of WinRT. Lua is unsurprising because of its popular use in games, and they just released 5.2 last December. What I find most interesting is that plain old C is set to overtake Java.

    Of course, if you don't take the Tiobe rankings seriously, than all of this is moot, but I guess it's something to talk about on a Friday.

    1. Re:Objective-C growth by AmbushBug · · Score: 5, Insightful

      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.

    2. Re:Objective-C growth by Smallpond · · Score: 5, Interesting

      Let's compare it to the number of unanswered questions on stackoverflow.com for various language tags:

      c# 31971
      java 28099
      javascript 26978
      php 26755
      objective-c 11749
      python 9078
      c++ 8024
      ruby 5080

      C, Perl, Basic, Lisp, etc - none

  2. C# by Anonymous Coward · · Score: 5, Interesting

    How is the real story not that C# is 3rd up from 6th!

    1. Re:C# by samkass · · Score: 5, Insightful

      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
    2. Re:C# by Bryan-10021 · · Score: 5, Interesting

      Java is slowly dropping from enterprise usage and is being replaced by C#.

      Really? Show me where C# is slowly replacing Java in the enterprise? On the server side Java has no competition. If C# is replacing Java then that would mean companies are also replacing UNIX with Windows as it's the only platform that supports C# (forget Mono). That's definitely not happening.

    3. Re:C# by Rubinstien · · Score: 5, Informative

      Indeed this is so. You can also compile Objective-C using clang/llvm . See: http://clang.llvm.org/compatibility.html#objective-c . The clang implementation is at feature parity with the Mac OS X 10.7 version of the language, and based on my limited understanding of some comments I've read in various announcements, supports some additional features as well. Use of those features requires the GNUStep Objective-C runtime (libobjc2), rather than the GCC runtime. A high degree of Cocoa compatibility is available using the GNUStep Base (Foundation) and GNUStep GUI (AppKit) libraries, for numerous Unix platforms as well as Windows. A version of CoreFoundation is also available which wraps GNUStep Base, with a rewrite coming very soon that implements CoreFoundation in plain C. Various other Cocoa and iOS-compatible libs are available in disparate states of implementation. As always, GNUStep could use more developers and more users. Companies wishing to port their MacOS software to other platforms are encouraged to investigate GNUStep; previous porting efforts have positively contributed to the project by discovering and reporting bugs and sometimes by providing direct improvements.

      GNUStep was recently used to port the Mac-only racing game CoreBreach to Linux: ( http://corebreach.corecode.at/CoreBreach/About.html ). Other visible examples of Cocoa/Objective-C applications ported to Linux from MacOS include the 'eggPlant' automated testing tool from TestPlant ( http://www.testplant.com/ ), and plenty of previously Mac-only Free/Open-Source software such as Bean.app ( http://1.bp.blogspot.com/_2qH5zqXu7wQ/TRi6sNiNZjI/AAAAAAAAADM/i8RwqzQ6OYE/s1600/bean-gnome-theme.png ).

      The parent is correct that you do not need Apple kit to develop in Objective-C. To work with most examples you will find, you will need Cocoa-compatible development libraries and tools, though. Interesting starting points include the Windows Installers, which include all of the components you would need to get started ( http://www.gnustep.org/experience/Windows.html ), or the GNUStep Core packages ( http://www.gnustep.org/resources/downloads.php ) for other platforms. The Étoilé Project http://etoileos.com/ is also interesting. Those of you in Europe who are interested and intend on attending FOSDEM should stop by and visit the talks and devroom sponsored by these projects.

  3. Objective C by aahpandasrun · · Score: 5, Funny

    Objective C is only popular because iOS requires it. It's like reporting that orange jumpsuits are the hot fashion trend in prison.

    1. Re:Objective C by SpinyNorman · · Score: 5, Insightful

      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.

    2. Re:Objective C by GuldKalle · · Score: 5, Funny

      Were you popular in school?

      --
      What?
    3. Re:Objective C by VGPowerlord · · Score: 5, Insightful

      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
    4. Re:Objective C by fyngyrz · · Score: 5, Interesting

      I'm in the midst of a pretty large image processing project for OS X, and the UI "wrapper", which is minimal, is in ObjC, but everything else is in C, implemented as a library. So we barely code in ObjC at all.

      Seems to me that terms like "must" are being thrown around here without any real knowledge of the options available.

      --
      I've fallen off your lawn, and I can't get up.
  4. The top 20 by danbob999 · · Score: 5, Informative

    Java
                    C
                    C#
                    C++
                    Objective-C
                    PHP
                    (Visual)
                    Python
                    Perl
                    JavaScript
                    Delphi/Object
                    Ruby
                    Lisp
                    Pascal
                    Transact-SQL
                    PL/SQL
                    Ada
                    Logo
                    R
                    Lua

    1. Re:The top 20 by Hatta · · Score: 5, Interesting

      Cheers for R! I didn't expect to see a statistical programming environment on this list, but I'm not surprised either. R is getting really big in bioinformatics, which is a burgeoning field right now. I used R myself more often in 2011 than in any previous year, and I'm sure I'll use it more this year. If you use Excel, especially if you use macros or VBscript, you should give R a look. Steeper learning curve, but far more powerful and rewarding.

      --
      Give me Classic Slashdot or give me death!
  5. Yiobe's bogus metrics by edxwelch · · Score: 5, Informative

    Tiobe generates the rating by the search results of google/bing, etc. So basically, it's just measuring how many web pages mention a particular language. It does *not* measure the actual usage of the language in applications.

  6. Ya people really underesitmate C/C++ by Sycraft-fu · · Score: 5, Insightful

    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.