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

85 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 Joce640k · · Score: 4, Insightful

      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.

      --
      No sig today...
    2. Re:Objective-C growth by BasilBrush · · Score: 4, Insightful

      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.

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

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

    5. Re:Objective-C growth by Joce640k · · Score: 4, Insightful

      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.

      --
      No sig today...
    6. Re:Objective-C growth by Massacrifice · · Score: 3, Insightful

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

      --
      -- Home is where you eat your heart out.
    7. Re:Objective-C growth by adamdoyle · · Score: 3, Insightful

      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)

      Objective-C Unanswered: 11,735 / 68,034 = 17.25% Javascript Unanswered: 26,932 / 165,543 = 16.27% BASIC Unanswered: 10 / 67 = 14.93% PHP Unanswered: 26,697 / 181,413 = 14.72% Java Unanswered: 28,050 / 195,957 = 14.31% Ruby Unanswered: 5,074 / 37,266 = 13.62% C# Unanswered: 31,934 / 255,266 = 12.51% Python Unanswered: 9,065 / 88,496 = 10.24% C++ Unanswered: 8,012 / 104,647 = 7.66% C Unanswered: 3,006 / 48,720 = 6.17% Perl Unanswered: 879 / 15,600 = 5.63% Lisp 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.

    8. Re:Objective-C growth by Smallpond · · Score: 4, Insightful

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

    9. Re:Objective-C growth by Stevecrox · · Score: 2

      They said anything faster than they have been able to code. I've met some pretty poor developers over the years who can't cope with C.

    10. Re:Objective-C growth by ansible · · Score: 2

      Lua does intern all strings, which has many, many nice benefits.

      However, if you are dealing with hundreds of megabytes of strings that are being mutated a lot, then this interning process may be a performance problem. However, there are usually good solutions to these kinds of problems. Hop on over to the Lua mailing list or Lua SubReddit and ask for advice. Many other languages often need high-perfomance byte string implementations that for some situations.

  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 antitithenai · · Score: 3, Interesting

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

    2. Re:C# by Nerdfest · · Score: 4, Insightful

      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.

    3. 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
    4. 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.

    5. Re:C# by Nethemas+the+Great · · Score: 2

      If you think JavaScript can or should replace strongly typed, compiled languages then you are severely deluding yourself. Just because it's popular with the sweat-shop monkeys doesn't make it a good choice. It just makes it a choice for those that don't know (or incapable of) any better or must fulfill a specific requirement revolving around web based GUIs. At present C, C#, Objective-C, and Java are still your best bets for most purposes not related to web based GUIs. If Microsoft would stop insisting on supporting only their platforms for .NET and the CLR, C# could quite easily catch up to if not stomp Java into the dirt.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    6. Re:C# by Noughmad · · Score: 3, Informative

      No, it's the real world that is out of touch with Slashdot.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    7. Re:C# by bertok · · Score: 3, Interesting

      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.

      That is definitely happening! Maybe not where you are, but I'm a consultant that gets to see a wide range of corporations, and everywhere I go I see NetWare and UNIX getting replaced with Windows. It's cheaper than either of those options, and having a single OS family across all servers is a huge win for support and training costs.

      The days when you had to have a "big iron" UNIX box to be able to handle an enterprise application workload are over. You can get a Windows compatible server with more CPU cores than you can use for peanuts these days. There just aren't that many business problems that need more than ~256 CPU cores and 2 TB of memory. Keep in mind that a CPU core these days is about 10x faster than a CPU core used to be just a decade ago!

      The only area where Microsoft still hasn't won is in reliability, even though they have the technology to do so. Window supports hot patching, but no patch management system that I'm aware of actually applies the patches that way. Windows Server Core needs (supposedly) fewer patches, but still requires a reboot once a month in practice. The have cluster support, but still can't do active-active disks, except for some special cases like Hyper-V virtual disk storage. This is getting less important though as applications these days tend to use load-balanced clusters instead of a single highly reliable server.

    8. Re:C# by phantomfive · · Score: 3, Interesting

      And C# is rising becaues of Windows Phone 7.

      Honestly I don't think C# is rising because of WP7. If you want to write software that runs on Windows only, C# is the best way to do it. Especially since in Visual Studio 2010, support for C++ has been waning (you can't use intellisense in C++ CLR environments, for example). My guess is that's why C# is rising, because of plain-old Windows Desktop.

      --
      "First they came for the slanderers and i said nothing."
    9. 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.

    10. Re:C# by Anonymous Coward · · Score: 4, Interesting

      "I see NetWare and UNIX getting replaced with Windows. It's cheaper than either of those options"

      O rly?

      It's weird: I'm seeing Solaris and other Unices being replaced with Linux. Rock-stable solid and 100% free Linux distros btw.

      There are even entire *continents* now (cough, Europe, cough) where announcements are made that countries should favor open-source and free software over commercial OSes making $$$ fly to the U.S.

      Despite the fudged TCO studies sponsored by M$ and linked by astroturfing M$ shills here, lots of people deciding the IT budget are starting to realize that they do not have to pay the M$ tax.

      "The only area where Microsoft still hasn't won is in reliability" -- Add price, security and performances. And you may be on to something...

    11. Re:C# by bsane · · Score: 4, Insightful

      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?

    12. Re:C# by Anonymous Coward · · Score: 4, Informative

      My observation has been the very opposite. I have seem very large windows deployments get replaced by Linux at several businesses especially with the movement to virtualization where one can get very lean headless Linux VM's that use minimal resources that allow better h/w scalability at much lower operating costs for running server software.

    13. Re:C# by Xest · · Score: 2

      Where on the server side have you looked? certainly for server side web application development C#/ASP.NET is gaining ground - you only have to look at job listings where there's rarely a Java job in sight, but hundreds of ASP.NET jobs. I think Java is still important, and still my preferred option on some projects, but it's definitely been losing ground quite rapidly on both server and client side for quite some time now.

      I agree people aren't hosting on Linux with mono though. It's all Windows/IIS.

      People just aren't recruiting Java devs anymore, but neither are they recruiting Objective-C devs either to be honest, which highlights why TIOBEs method is completely and utterly flawed and it's results meaningless. If you go pick a bunch of random places in the world and do job searches for developer you get results on the order of C#, PHP, Java/C++/Ruby/Objective-C in a ratio of something like 20:6:2 respectively nowadays, so unless this growth in Objective-C is being led by one or two single places in the world who are hiring hundreds of thousands of Objective-C devs to make the stats work then we can once again do our annual ignore of TIOBE.

      Really, if you want a rough idea of what the fastest growing languages are in your area then job sites are far and away the best option. Looking at multiple job sites in multiple places across the world gives you the best overview of global demand. TIOBE is completely meaningless for this because if for example we have two new languages, one of which has picked up 10,000 users in a day, and has really good docs so they're all sat using it locally quite happy, or they're discussing it on USENET or something like that, then another language comes along backed by a big firm, has no actual users but a massive PR drive giving it thousands of news stories across the globe, then of course, the latter will be deemed more popular, and seeing faster growth, even if no one's actually even using it at all. Obviously that's dumb, but this illustrates how TIOBE goes wrong - from languages that are common amongst teaching having more newbie questions, even if the language is only being used for assignments, to languages that are backed by regular PR, to languages that people say on forums because there's a proud history behind said language - "Oh yeah, I know C++" because they think it makes them look smart. A language with excellent docs, and even an IDE that offers intellisense is going to lead to far fewer questions than one that has no documentation and no IDE also. There's just so many things to go wrong in TIOBE's methodology that TIOBE basically tells us only one thing - how many times a language has been mentioned on the internet, which has absolutely no bearing to how much it is actually used in the real world.

    14. Re:C# by Kjella · · Score: 2

      That is definitely happening! Maybe not where you are, but I'm a consultant that gets to see a wide range of corporations, and everywhere I go I see NetWare and UNIX getting replaced with Windows.

      Something tells me that your information is quite a bit out of date, because NetWare started losing marketshare already in the 90s, the last NetWare release came in 2003 and the final service pack in 2008. Even the last stragglers I saw migrated to Outlook several years ago. Yes, along with that usually comes an Exchange server but it's hardly a big impact when companies decide what application servers they should run. At least not those where the servers are far more important than the desktops, like all the companies doing a online $anything or operating the back-end of a store chain or things like that. If all you're doing is providing your desktop users with a file server, an intranet and other auxiliary services while all the important stuff happens on the client and the applications require Windows, then yeah I'd probably go for an all-around Microsoft package.

      --
      Live today, because you never know what tomorrow brings
  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 antitithenai · · Score: 4, Insightful

      Which doesn't change the fact at all, and only shows the importance of iOS.

    2. Re:Objective C by Anonymous Coward · · Score: 4, Insightful

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

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

    4. Re:Objective C by DanTheStone · · Score: 4, Insightful

      Different definition of popular. This is using it in the "most used" sense, not the "most liked" sense.

    5. Re:Objective C by Toe,+The · · Score: 2

      Sometimes a statistic is used to show trends in other areas.

      For example, yes, iOS is popular with users. However, the fact that the programming language used for it is growing indicates that it is popular with programmers. That's different, and at least a little bit notable. Not only for nerds thinking about what to program in, but also for industry watchers: developer support is very important to a platform.

    6. Re:Objective C by nobodyman · · Score: 4, Insightful

      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.

    7. Re:Objective C by Anonymous Coward · · Score: 4, Insightful

      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.

    8. Re:Objective C by Goaway · · Score: 4, Informative

      Even GNUstep considers Apple's implementation the official one, and they try to follow it as closely as they can.

      When you run into problems porting, it is because GNUstep is lagging behind.

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

      Were you popular in school?

      --
      What?
    10. Re:Objective C by ColdWetDog · · Score: 4, Funny

      Are you new here?

      --
      Faster! Faster! Faster would be better!
    11. Re:Objective C by SpryGuy · · Score: 2

      In this case, I think it's solely driven by iDevices. If the iPhone and iPad were to suddenly tank in the market, I believe you'd see Objective-C usage tank right along with it. Objective-C isn't the reason they're popular. It's just the only choice developers have to code for a popular platform.

      Meanwhile, something like C# is actually pleasurable, and I think would see increasing usage even if WP7 tanks (heck, it's barely a blip in usage as it is right now). C# in some form or another is available on non-MS platforms too, and is used there. Obviously MS drives C# adoption with the popularity of their Windows platform, but I think there's a subtle difference in that C# is really nice... (you have MANY options when coding for Windows). Objective-C is just the only choice.

      --

      - Spryguy
      There are three kinds of people in this world: those that can count and those that can't
    12. Re:Objective C by SQLz · · Score: 3, Funny

      Is $99 some kind of large amount of money? What is that like a week of brown bagging your lunch?

    13. Re:Objective C by shutdown+-p+now · · Score: 3, 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.

    14. Re:Objective C by Anonymous Coward · · Score: 4, Informative

      Yes, let's not, and point out that clang is BSD licensed.

      http://llvm.org/svn/llvm-project/cfe/trunk/LICENSE.TXT

      The exact same thing holds true for their "Objective-C" compiler. It may have had its roots in open source, but under Apple it most certainly is not now and never will be again.

      If clang started as open source that apple made proprietor, then why is the very first commit from Apple? http://lists.cs.uiuc.edu/pipermail/cfe-commits/2007-July/000000.html
      And why is the newest feature to come to Objective C being actively worked on Top of Tree by an apple employe. http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120109/051009.html

      So I stand 100% by calling Apple's compiler proprietary shit.

      Nope you stand 100% full of shit.

    15. Re:Objective C by 0100010001010011 · · Score: 3, Informative

      Which means that Apple's version will never see the light of day.

      Um. You mean the version that I downloaded with XCode?

    16. Re:Objective C by LWATCDR · · Score: 4, Informative

      Actually IOS does allow you to develop in C++ if you want.
      http://gamedev.stackexchange.com/questions/11079/objective-c-or-c-for-ios-games
      and here
      http://iphonedevelopertips.com/cpp/c-on-iphone-part-1.html
      for examples.
      To be honest I have worked in C++ and Objective-C and I like Objective-C better. When I work on Windows or Linux I use C++ because that is the better supported language on those platforms. On IOS I use Objective C.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    17. Re:Objective C by VGPowerlord · · Score: 2

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

      A more apt analogy would be that orange jumpsuits are the clothing item with the biggest increase in sales (to the government obviously) in America because we're sending more people to prison.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    18. 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
    19. Re:Objective C by sourcerror · · Score: 4, Funny

      Then your were popular in the "most used" sense.

    20. Re:Objective C by Xtravar · · Score: 3, Interesting

      I have seriously considered using Objective-C for non-iProjects, because it is so pleasant to use. I used to be a huge C# fan, using it in Linux and Windows for everything. I can guarantee that non-Apple APIs and tools will arise because of its usage.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    21. Re:Objective C by BasilBrush · · Score: 2

      Which is fine as a hypothetical. But in practice developers who use Objective-C do tend to like it. It's the Android shills who don't know it that whine about it.

    22. Re:Objective C by scialex · · Score: 2

      It is when you realize that for every other platform with even a microscopic amount of market-share the price is $0. ;)

    23. Re:Objective C by beelsebob · · Score: 4, Informative

      Which means that Apple's version will never see the light of day.

      clang.llvm.org

      Clang was an internal apple project, open sourced by them here's the email in which Chris Lattener (an apple employee) open sourced the code that he had written on apple's time. The code has continued to be released by apple under the BSD license.

      For reference, here's Apple's Objective-C runtime too.

    24. Re:Objective C by TheCouchPotatoFamine · · Score: 2

      i have no problem with messages - but every time I see objective-c, i do think to myself, "gee most of the power of python (dynamic runtimes rules the UI!), with all the syntax of C:" - and i kinda wish it was the other way around.

      fwiw.

      --
      CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
    25. 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.
    26. Re:Objective C by BasilBrush · · Score: 2

      Yes, UI is Cocoa (touch), and Cocoa is all Obj-C. As is Foundation.

      The other exceptions for non-Obj-C UIs besides OpenGL is Carbon, which is C.

      But outside of Cocoa and Foundation much most APIs are C. Core Foundation, Core Graphics, Core Animation, Core Audio. Grand Central Dispatch, all the Posix stuff, etc.

      Yes, in practice every app other than OpenGL apps will need the UI doing with Obj-C APIs. I was just picking up on incorrect statement "all iOS APIs are Obj-C" really.

  4. Re:Moderators? by Anonymous Coward · · Score: 2, Insightful

    It's funny because the analogy is funny. Was it really that hard to figure that out?

  5. "Objective-C will be the next big language." by Sebastopol · · Score: 4, Funny

    My IT friend in 1993.

    Time to find him on facebook.

    --
    https://www.accountkiller.com/removal-requested
    1. Re:"Objective-C will be the next big language." by jockm · · Score: 4, Insightful

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

      --

      What do you know I wrote a novel
  6. From 0 to 1 user equals infinite growth. by Anonymous Coward · · Score: 2, Funny

    Fastest growing language is the one you invent yourself.

  7. 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!
  8. Notes on the trends. by Animats · · Score: 4, Interesting

    Interesting. Objective-C up (presumably because of iPhone usage), C# passes C++, and Python in a screaming dive.

    The languages that are on the way down suffer from mismanagement. The C++ committee went off into template la-la land years ago, focusing on features used by few and used well by fewer. Python had a "Perl 6" experience - von Rossum pushed the language to Python 3, which is only marginally better, no faster, and incompatible. That seems to have hurt the language's market share.

    The languages on the way up are rather similar. They're strongly and explicitly typed, compilable, memory-safe (mostly), and have garbage collection. That describes Java, C#, and Objective-C, and even Delphi. The only exception on the way up is Javascript, which has progressed from being an awful language to a pervasive although mediocre one. Javascript does have the advantage of fast implementations, unlike Perl and Python.

    These stats, of course, are based on what people are blithering about on blogs, not what's implemented in them.

    1. Re:Notes on the trends. by shutdown+-p+now · · Score: 2

      I mostly agree, but... Delphi has garbage collection? since when?

    2. Re:Notes on the trends. by jd · · Score: 3, Interesting

      C didn't gain any ranks but it did gain in the ratings, so two exceptions. If I'm reading the long-term trends correctly, the more potent languages suffered some at the hands of Visual Basic but as VB has died they have recovered. 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. Python's usage in the longer-term trends seems to have stabilized, along with a couple of other languages, with most having falling usage. To me, that suggests more hybridization at least in the fields (mostly teaching) that this survey covers - people aren't using one-size-fits-all languages as much, opting for limited use of languages in specialized areas.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    3. Re:Notes on the trends. by shutdown+-p+now · · Score: 2

      Last time I looked at it - which was, admittedly, Delphi 7, sometime around 2004 - you had to explicitly call Destroy on objects to release memory. You also got refcounting if you derived from TInterfacedObject, but only for interface-typed references. And you had refcounting with COW for strings.

      That's nowhere even close to a GC.

    4. Re:Notes on the trends. by epine · · Score: 3, Insightful

      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.

    5. Re:Notes on the trends. by jd · · Score: 3, Informative

      If you ignore the peaks and troughs, looking only at the general trend, it has been on a fairly steady decline since 2002 according to that graph. (I'm completely ignoring the specific values, for a graph like this you always want to plot a smooth curve that reflects the general pattern and not the individual data points.)

      Because the graph is based on what is taught, you're looking at a latency of 1-2 years - maybe more - to factor in the delay between the changes in demand and changes in the classroom. That would imply that the demand itself changed around 2000 at the latest. The steady decline also means that the 2003 and 2008 revisions to the standard have not significantly altered the trend - up or down - and that the problems originate with the C++ 1998 standard (the last one before the known start of the decline).

      My guess is that between 1998 and 2000, there would have been a rise in usage of C++ (standards make programming much easier), that it crested around that time and that the decline (which I'm estimating to have started midway between the first and second formal language specifications) came from better specialist tools. I honestly couldn't tell you when CORBA started dying as a standard, but it seems to me that it was around the same timeframe and for much the same reason as I'm giving for C++ (RPC is perfectly good for remote functions, sockets are perfectly good for streaming data, etc - you just don't need a top-heavy solution that can do anything adequately but nothing brilliantly).

      Likewise, I think that's part of why scripting languages are starting to suffer. A lot of them are becoming extremely top-heavy and whilst that might make programmers happy in the short-term (they don't have to mix languages right there and then), it makes programmers unhappy in the long-term (they do have to mix languages anyway, it's just more complicated to do so and they feel like they were promised they didn't have to).

      If I extrapolate from this, I'm going to say XML (which now requires a monstrous number of libraries to process in various ways) is going to fall out of favour. Architecture-neutral data storage can be done using NetCDF, a key/value database like QDBM is quicker to read/write than an XML database, precisely because XML is often processed as ASCII text it is not very good at handling UTF32 safely, and unordered data is a bugger to read. Specialist tools already exist to do all of the things XML is used for, so I would expect XML to lose ground to those tools once it passes the critical threshold of complexity. It does not appear to have hit that threshold yet, but it will if it continues to gain complexity with no obvious corresponding gain in usefulness. (XML is very useful for some tasks but it doesn't become more useful for those tasks because of XML-RPC or other rarely-used extensions.)

      Ada was once extremely popular, far more so than now, but lost a lot of ground because it also became extremely complex. There have been times when Ada has been the laughing-stock of programming because nobody could build a compiler capable of handling it. It was only partially implemented, which caused severe problems for portability but also for provability. (Ada was the flagship language of Formal Methods for a long time, but incomplete and overweight ships sink. It damaged the entire Formal Methods methodology to such an extent that it may never recover.)

      This pattern also explains the love-hate relationship with X11 and with other designs that got.... a little too flamboyant. My old Software Engineering instructor used to represent this with a picture of a tyre swing with three ropes holding the tyre up. Each rope functions perfectly as designed, but the result is unusable.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  9. Logo by LateArthurDent · · Score: 4, Interesting

    I've seen logo used a lot in multi-agent systems research. It just lends itself well to that, with every turtle being an agent.

  10. Interesting. by jd · · Score: 2

    Anyone here want to comment on Lua? It's now provided with LaTeX to help provide a bit more oomph, but I'm torn between learning it and seeing what other scripting languages are added in.

    Objective C and C# are not terribly surprising but given that there are plenty of C-based languages that never even made the top 20, I find it curious as to which C-based languages are thriving and which are not. If it were on the merits of the language alone, then you'd expect usage to reflect specific features, and I was assured repeatedly in the discussion on Java that languages were not (as I'd claimed) popular due to promotion. Surely not all those people could be wrong, could they?

    Logo's popularity is puzzling as this is far too recent a survey to reflect the UK's demand to switch from learning about office supplies in IT to learning about writing software and starting off on 2D graphics applications. However, precisely because of that switch, I'd expect Logo's popularity to rise at least a little bit more. It is, after all, a language designed to start people off on writing 2D graphics applications.

    Pascal, Delphi and Ada get mentions, but Modula-2 and Modula-3 do not. Nor does Eiffel. Not a terrible shock, but again it does say a lot about perceptions in regards to usage. I'm no fan of Modula-2 or Modula-3, but there are bound to be cases where they're more appropriate choices but the others are used instead.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Interesting. by brendank310 · · Score: 3, Interesting

      As mentioned by someone above, Logo is being used in a lot of agent-based modeling research. One in particular came up time and time again in a seminar class I took on complex systems was NetLogo. Some poor economics PhD was working on modeling the relationship between groundwater depletion and policy approaches to curbing its overuse, and his simulations were taking weeks with something like 100 nodes. Too bad it isn't open source, might be fun to try to parallelize simulation runs.

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

  12. The reason for its popularity... by Timbo · · Score: 4, Informative

    ...is obviously because of iOS. More specifically it's because when Steve Jobs rejoined Apple in 1996 he brought with his a lot of NeXTStep tech, including Obj-C. That's why many of the system types have the 'NS' prefix. History lesson aside, it's rather a shame as it's (in my opinion) a rather poor and outdated language. If I'm ever asked by people who aren't familiar with it what it's like I say that it's the anti-sibling to C++. By this I mean that it has the same parentage as C++, but where C++ went down one path, Obj-C took the other. The fact that most well regarded modern languages have more in common with C++ than Obj-C should indicate that they made mistakes in its design. Obj-C's biggest failing is its tendency to fail at runtime rather than during compilation. This is mostly down to its weak type system.

    Don't get me wrong, I think C++ is getting pretty creaky too. I'm quite fond of D; in a fantasy world, some big commercial player will start using it and make it popular.

    1. Re:The reason for its popularity... by Timbo · · Score: 3, Insightful

      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.

    2. Re:The reason for its popularity... by dzfoo · · Score: 2

      I think the point was that Objective-C is compiled to native machine code and it has instrospection along with dynamic typing. C# may have those capabilities but at the cost of running in a VM.

            dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
  13. Explaining LOGO is easy by anyGould · · Score: 4, Interesting

    You need to show a bunch of six-year-olds how to program in an hour? Here's LOGO. Here's your turtle. Type FWD 20, watch it move forward. Five minutes later, the kids know all the basic commands. Put a maze in front of them, let them figure it out. Congrats - they're programming with a computer.

    LOGO was my first programming language, back on an Apple II with a big honkin 5 1/4" floppy disk drive. It was the eye-opening "OMG these things do more than Oregon Trail?!?!?" moment.

  14. Re:Moderators? by iluvcapra · · Score: 2

    No language is popular because of the features. Languages are attributes of platforms, people write for platforms. Even platforms that support multiple languages, like iOS and the WinRT, have a "favorite" language where the documentation is most focused, and people will write for whichever language is the most documented.

    --
    Don't blame me, I voted for Baltar.
  15. Perl by tirnacopu · · Score: 2

    Love to see it soldiering on. No advertising, no vendor lock-in, no World Wide Whatever Conventions, and yet there's no-one moving it off the top 10. Congratulations, to all the devs and monks.

  16. Encouraging. by blind+biker · · Score: 3, Interesting

    While I have not been doing any serious coding since quite a while, it's encouraging to see that the four programming language I learned many years ago, are still in this top 20 list, and have not changed position since last year: Java, C, Pascal and.. BASIC :)

    Wait, I forgot one: where's FORTRAN!?

    --
    "The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
  17. It's not about programming language by GauteL · · Score: 3, Insightful

    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.

  18. Most used. by Doctor+O · · Score: 4, Funny

    Then your were popular in the "most used" sense.

    I feel there's a "your mom" joke hidden somewhere.

    --
    Who is General Failure and why is he reading my hard disk?
  19. Java is also "walled garden" ask Oracle by walterbyrd · · Score: 3, Funny

    Oracle will tell you the language is free, then sue you when you use it. Just ask Google.

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

    1. Re:Ya people really underesitmate C/C++ by fyngyrz · · Score: 3, Informative

      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.

      ...and that goes double for C -- can't think of the last time I had a C question I couldn't answer without even cracking a reference or prodding Google. I spend my time being productive with it, not talking about it, except I do tend to say something when the wags around here declare it's dead, etc., lol

      --
      I've fallen off your lawn, and I can't get up.
  21. R is not a programming language by plopez · · Score: 2

    R is a, very large, library of Mathematical and Statistical libraries usually written in Fortran glued together by a scripting language. Maybe the popularity of R means that Fortran is becoming more popular, via the "back door".

    BTW, check out Fortran '08. OO, fast, native parallel capability[*], supports 30 year old legacy code, and easy to learn. I've been hobbying with it. As the saying goes "It ain't your grandpappy's Fortran".

    [*] Which is mind bending enough I haven't tried it, yet.....

    --
    putting the 'B' in LGBTQ+
  22. Issue with this metric too though by SuperKendall · · Score: 4, Insightful

    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.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Issue with this metric too though by maple_shaft · · Score: 3, Insightful

      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.

  23. Logo by Progman3K · · Score: 3, Interesting

    People forget that Logo is not only about the turtle-animation and drawing.

    It is parent to Lisp and has list-processing primitives that make it quite good at processing streams of information.

    Its actually a lot like Java; procedures can dynamically generate procedures as they run.

    Its syntax is so simple, a child can learn it but you can easily program recursive algorithms with it.

    I say all this from experience. My very first programming job, I was an apprentice at a place that did the books and business-accounting of about 30 client companies, all in Logo.

    This Logo was running on a micro and we had 8 terminals hooked up to it. This logo had NO turtle, it was text-only. (M.I.T. Experimental Logo #53 or something like that)

    --
    I don't know the meaning of the word 'don't' - J