Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
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:
  • Objective-C growth (Score:5, Interesting)

    by bonch ( 38532 ) * on Friday January 13, 2012 @05:32PM (#38691682)

    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. 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 [lua.org] 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 [timbunce.org], than all of this is moot, but I guess it's something to talk about on a Friday.

    • C# will probably continue to see increasing interest because of WinRT.

      Given that WinRT offers a choice of C++, C#/VB and JS, isn't not really a given.

    • 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 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 Smallpond ( 221300 ) on Friday January 13, 2012 @07:37PM (#38693028) Homepage Journal

        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

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

          • Re: (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 ques

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

          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.

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

      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.

  • C# (Score:5, Interesting)

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

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

    • Re: (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#.
      • Windows 8 Metro apps will use C++, C#, or HTML5/JavaScript. I suspect HTML5 will get the largest use, though I'm sure C# will be a close second.
      • 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.
        • by epyT-R ( 613989 )

          yes about as well as the political duopoly has for the US. can't wait!

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

        • I suspect your observation about the enterprise space is valid (and somewhat agrees with my observations in government/military enterprise deployments). However, the shift in percentages probably isn't based in migrations in existing deployments, enterprise or otherwise. Instead, I suspect that the overall space is becoming dominated by mobile devices, driving up the use numbers of the languages in that arena while other endeavors hold mostly stagnant. Hence, the shift in percentages.

          Just a theory.

        • by Xest ( 935314 )

          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 j

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

        by Bryan-10021 ( 223345 ) on Friday January 13, 2012 @06:14PM (#38692144)

        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.

        • Re: (Score:3, Interesting)

          by bertok ( 226922 )

          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

          • Re:C# (Score:4, Interesting)

            by Anonymous Coward on Friday January 13, 2012 @09:46PM (#38694244)

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

          • Re:C# (Score:4, Informative)

            by Anonymous Coward on Saturday January 14, 2012 @01:27AM (#38695330)

            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.

          • by Kjella ( 173770 )

            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 t

    • Re: (Score:2, Insightful)

      by JoeMerchant ( 803320 )

      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.

  • Objective C (Score:5, Funny)

    by aahpandasrun ( 948239 ) on Friday January 13, 2012 @05:35PM (#38691724)
    Objective C is only popular because iOS requires it. It's like reporting that orange jumpsuits are the hot fashion trend in prison.
    • 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: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: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.
        • 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.

          • by SpryGuy ( 206254 )

            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 n

            • by LWATCDR ( 28044 )

              Maybe you should learn teh differences between facts and opinion.
              If Windows tanked it would take C# with it. Yes I know about Mono but it is just a blip.

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

              by Xtravar ( 725372 ) on Friday January 13, 2012 @06:47PM (#38692518) Homepage Journal

              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.

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

          by LWATCDR ( 28044 ) on Friday January 13, 2012 @06:20PM (#38692214) Homepage Journal

          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 [stackexchange.com]
          and here
          http://iphonedevelopertips.com/cpp/c-on-iphone-part-1.html [iphonedevelopertips.com]
          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.

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

            by fyngyrz ( 762201 ) on Friday January 13, 2012 @08:56PM (#38693824) Homepage Journal

            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.

    • Why was this modded funny? This is the truth -- obj-C is popular because of iOS, not because it is some kind of programming language panacea.
      • Re: (Score:2, Insightful)

        by Anonymous Coward
        It's funny because the analogy is funny. Was it really that hard to figure that out?
      • I'm not sure I understand how it matters why it's popular. The index isn't a listing of strictly general purpose programming language.

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

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

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

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

      • Actually that's not even remotely true. You always had option of using C and C++ in addition to Objective C

        You can use vanilla C or C++ for your own code, but all iOS APIs are Obj-C, so you necessarily need to know the language enough to at least work with those.

        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.

        I think GP's point was that it being popular doesn't mean that it's good.

        (which is, of course, also true of Java and many other languages in TCPI)

      • by Timbo ( 75953 )

        If you substitute 'uses' for 'requires', the GP is quite correct. It's not like there has been a mass adoption of the language because of the merits of the language itself.

  • by Sebastopol ( 189276 ) on Friday January 13, 2012 @05:44PM (#38691820) Homepage

    My IT friend in 1993.

    Time to find him on facebook.

    • 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 Anonymous Coward

    Fastest growing language is the one you invent yourself.

  • The top 20 (Score:5, Informative)

    by danbob999 ( 2490674 ) on Friday January 13, 2012 @05:47PM (#38691854)

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

    • Re:The top 20 (Score:5, Interesting)

      by Hatta ( 162192 ) on Friday January 13, 2012 @06:22PM (#38692232) Journal

      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.

  • Notes on the trends. (Score:5, Interesting)

    by Animats ( 122034 ) on Friday January 13, 2012 @05:50PM (#38691892) Homepage

    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.

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

    • by jd ( 1658 ) <imipak@ y a hoo.com> on Friday January 13, 2012 @06:09PM (#38692100) Homepage Journal

      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.

      • 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 jd ( 1658 ) <imipak@ y a hoo.com> on Friday January 13, 2012 @09:00PM (#38693854) Homepage Journal

          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.

    • by KDR_11k ( 778916 )

      C had an increase in market share as well even though that didn't improve its rank.

  • Logo (Score:5, Interesting)

    by LateArthurDent ( 1403947 ) on Friday January 13, 2012 @05:57PM (#38691946)

    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.

  • by jd ( 1658 ) <imipak@ y a hoo.com> on Friday January 13, 2012 @05:58PM (#38691956) Homepage Journal

    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.

    • Re: (Score:2, Interesting)

      by Darinbob ( 1142669 )

      Lua is probably the smallest and easiest language to integrate into a system and is extremely powerful for its size. While you can write full blown applications only in Lua it's real purpose is to be a subordinate add on to another program or system. A lot of people point to games when Lua is mentioned but there's nothing inherent about games in it. So you'll see this a lot more in embedded systems coming up I think. For example, unlike say Ruby or Python it doesn't come with a lot in the library but yo

    • Re: (Score:3, Interesting)

      by brendank310 ( 915634 )
      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.
  • Fallen out of the top 50 into obscurity where it belongs.
  • by edxwelch ( 600979 ) on Friday January 13, 2012 @06:00PM (#38691988)

    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.

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

      • by fyngyrz ( 762201 ) on Friday January 13, 2012 @09:28PM (#38694094) Homepage Journal

        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

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

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

    • Obj-C's biggest failing is its tendency to fail at runtime rather than during compilation.

      Are you sure this isn't just a matter of taste? It gives it scripting-language agility and introspection with compiled language speeds, and still most of the type checking features are available when you want them, it just doesn't compel them.

      The people who hate really Objective-C the most seem to be the people who are paid to write IEnumeratesEveryOddThursday interfaces and AbstractClassFactoryIntegerSerializationDa

  • by anyGould ( 1295481 ) on Friday January 13, 2012 @06:13PM (#38692138)

    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.

  • Encouraging. (Score:4, Interesting)

    by blind biker ( 1066130 ) on Friday January 13, 2012 @07:09PM (#38692780) Journal

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

  • 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 plopez ( 54068 ) on Friday January 13, 2012 @09:46PM (#38694234) Journal

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

  • Logo (Score:4, Interesting)

    by Progman3K ( 515744 ) on Saturday January 14, 2012 @12:26AM (#38695072)

    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)

It is easier to write an incorrect program than understand a correct one.

Working...