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?"
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.
How is the real story not that C# is 3rd up from 6th!
Objective C is only popular because iOS requires it. It's like reporting that orange jumpsuits are the hot fashion trend in prison.
It's funny because the analogy is funny. Was it really that hard to figure that out?
My IT friend in 1993.
Time to find him on facebook.
https://www.accountkiller.com/removal-requested
Fastest growing language is the one you invent yourself.
Java
C
C#
C++
Objective-C
PHP
(Visual)
Python
Perl
JavaScript
Delphi/Object
Ruby
Lisp
Pascal
Transact-SQL
PL/SQL
Ada
Logo
R
Lua
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've seen logo used a lot in multi-agent systems research. It just lends itself well to that, with every turtle being an agent.
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)
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.
...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.
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.
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.
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.
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.
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.
I feel there's a "your mom" joke hidden somewhere.
Who is General Failure and why is he reading my hard disk?
Oracle will tell you the language is free, then sue you when you use it. Just ask Google.
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.
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+
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
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