Objective-C Enters Top Ten In Language Popularity
bonch writes "Objective-C has entered the top 10 of the Tiobe Programming Community Index. Last year, it was at #39. The huge jump is attributed to its use in iPhone and iPad development. C, of which Objective-C is a strict superset, has reclaimed the #1 spot from Java, which slides to #2. Tiobe also explains how it determines its rankings."
Don't they just google it like the rest of us?
Deleted
Does it explain it how is babby formed?
There's no -1 for "I don't get it."
Where are the C development jobs? I have strong C skills, but everything is Java/C++/PHP/Ruby/worse.
There is one popular computing platform that requires all programs to be written in Objective-C. There is another popular computing platform that requires all programs to be written in one of the many languages that compile to verifiably type-safe CLR bytecode, but Objective-C is not one of those languages. So if I want to develop an application for both of these platforms, in what language should I express the business logic of the application so that it can be automatically translated into Objective-C and into a CLR-friendly language?
They use search engines to determine this?
Why does this seem odd to me... or even misguided?
do to way instain mother who kill thier chrilden.
From this I conclude that the results are meaningless. At best it shows that Objective-C programming has resulted in more discussions and questions. Whether it is "popular" or not is a bit more subjective.
of all the posts on Slashdot saying how much it sucks.
Slashdotted!! And it's not even a blog or anything...
If Tiobe's website is to be believed, the #1 programming language right now is Whitespace.
Dislike the Electoral College? Lobby your state to join the National Popular Vote Interstate Compact.
Agreed. My first thought was, "Yay, I'm not the only idiot out there programming with VB!", but after reading that, it's more like, "Yay, I'm not the only idiot out there having problems coding with VB!"
All kidding aside, Objective-C isn't the sort of language people use because they want to. Rather, they use it because it's what Apple says they can use.
Back in the NeXT days, we used it because it was far better than anything else out there. But that was 20 years ago. Times have changed, and we have better programming languages available to us. Even with Objective-C 2.0, it's still somewhat of a relic.
So it's popularity isn't natural. It's almost fully artificial, based upon the restricted nature of Apple's platforms, especially the mobile platforms where they've literally "outlawed" everything else.
So they don't count perl hacking, erlang development and assembly coding, then.
This is funny. If it were me analyzing their results, it could also mean that developers are so frustrated with Objective-C that they have to use search engines to find help for the simplest of things instead of simply being able to code using provided documentation or books.
What can I say about Objective-C programming, I like, Objective-C programming, but Objective-C programming, is not quite as fun as non-Objective-C programming.
Actually, I have never performed Objective-C programming, but I think, Objective-C programming is quite useful for application domains specific to Objective-C programming.
Have you ever tried Objective-C programming, Apple likes to talk about Objective-C programming, but I'm not sure that Objective-C programming is right for me...?
Objective-C programming may well be right for everyone,
God Bless Objective-C programming
I think popular topic would mean popular language at least to some degree. Or for sure that it is a more used language as search results wouldn't discriminate preferences like actually enjoying the language. Neat to see and know, but wouldn't use it for any significant business related decisions is how I see it.
Ok (if you count it) what language is more popular than JavaScript?? How the hell is that not #1??? JavaScript is everywhere and I'm sure 90% of the people here on Slashdot use it. That is bizarre. Something is wrong with their stats.
I think any useful statistics on a programming language would have to include something on the amount of code written in it and project complexity. It's nice to have lots of small applets, but a single wordprocessor would count for a lot of them Google search results only tells me, that a lot of kids try to write their first "hello world"
But they do count prime-time programming, which is always more popular than the other kinds.
Although we went through a period thinking we have an abundance of CPU power, efficiency is back in vogue as it's needed everywhere from the mobile, because of limited cpu/battery, to servers trying to solve the the C10K problem (serving >10K simultaneous connections).
Couple of interesting projects are the Redis server, written in tight ANSI C, and the Go language, kinda like a combination of C++ and python with a nod towards erlang.
http://code.google.com/p/redis/
Redis is an advanced key-value store. It is similar to memcached but the dataset is not volatile, and values can be strings, exactly like in memcached, but also lists, sets, and ordered sets. All this data types can be manipulated with atomic operations to push/pop elements, add/remove elements, perform server side union, intersection, difference between sets, and so forth. Redis supports different kind of sorting abilities.
http://golang.org/doc/go_faq.html#What_is_the_purpose_of_the_project
If only they had a pseudocode compiler!
After about two years programming Obj-C/Cocoa for iPhone apps, I can't believe that this ancient experiment in OOP by an amateur compiler writer is still around. Even though it is nominally a compiled language, all the calls to methods as well as accesses to class properties are interpreted -- the name of the method & its args (args have names) is looked up in a hash table by runtime interpreter to find the address, then to push args and call it, every time you invoke it or access a property. The Obj-C creator basically didn't know how to code linker-loader address binding and so he just left that part for the runtime to decode on millions of end users CPUs from there on. He also didn't know about name mangling, and left that part of his job for the future programmers to do manually (method names and args are explicitly named, so you end up with arg named calling methods like [obj method:arg1 count:count]). For adding properties to a class you have enter the same info in triplicate (variable delcaratiom, property declaratiom, getter/setter declaration), so there is lots of cut & paste, doing by hand the job that compiler should have been doing. The syntax is very clunky, inelegant, uneconomical on programmer's time e.g. requiring lot's of jumping back and forth to match/complete nested square brackets, again simplifying compiler writer's job at the expense of busy work for countless programmers from there on.
In addition to performance & narrow technical issues, the worst fundamental flaw of Obj-C is that the creator didn't understand the value of name space partitioning in OOP (the key tool for building layers of abstraction), so much of that's left largely to programmers, which in Cocoa (API, like win32) resulted in mind-numbing hyper-verbosity, with each class and method names dragging huge repetitive prefixes, with each name spelling out explicitly its whole ancestry back to the stone age. While the Xcode editor is doing heoric efforts in trying to guess what you meant and offer auto-completion of the names as you type, that is the lesser half of the problem (you still end up doing lots of cut & paste of the Cocoa names). The main drawback is when trying to read or modify the code later -- even the simplest algorithm looks complex, any pattern specific to the task at hand is drowned in the mind-numbing sea of repetitive Cocoa verbiage.
In short, horrible language & API framework. Only someone who grew up with this and never knew anything better could love it. Of course, like everything Apple, buried under the idiotic Coca+Obj-C layer, there are gems of genius, especially the extremely well thought out functionality and high performance graphics & animation engines.
At best it shows that Objective-C programming has resulted in more discussions and questions. Whether it is "popular" or not is a bit more subjective.
So when did 'more discussions about something' not equate to 'more popular'?
So, the whole "metric" is basically a Googlefight for programming languages?
They tried to count it, but it was indistinguishable from line noise.
This.
Objective-C has a lot of buzz, since Apple has a lot of buzz. That doesn't mean it is getting used in a lot of projects, just that a lot of people are talking about it. Just because there isn't a lot of chatter online about something, doesn't mean it isn't used.
For example I suspect C++ is actually much higher. Why? Because it is the language of video games by and large. Pretty much any PC and Xbox 360 game are written in C++, usually using Visual Studio. However you don't see a lot of chatter about it online since it is being done professionally and it just kind of an assumed thing in the games industry.
Well, that makes for a rather large amount of apps out there, even if they don't get talked about all that much.
Likewise, though I suspect C is high up on the list due to embedded applications, I think that their data on it is flawed. The reason they see so much is likely Linux, which of course uses a lot of C. Fine, but Linux also gets talked about a lot online, since it is open source. So the amount of discussion it generates in relation to code is much higher than a commercial project.
In general their methods are rather flawed.
Objective-C programming is a dead end. I hate Objective-C programming. Any time spent doing Objective-C programming is wasted as far as I'm concerned. I can't understand why it is so popular.
No. Older than that. It's an SROM.
Intron: the portion of DNA which expresses nothing useful.
(pointy head boss)
int main(int argc, char **argv) { printf("w00t!\n"); double_contracting_rate(); return 0; }
"Please describe the scientific nature of the 'whammy'" - Agent Scully
I cant believe Python is now more popular than Perl..... :(
... I value most than Tiobe's dummy ranking, is the popularity of tags in Stackoverflow.
Granted, it correlates more with questions asked by programmers (many of them beginners) than with jobs.
Anyway, you can see that also there "Objective-C" has a (surprising for me) high position (as well as "iPhone").
Sorry to troll, but what exactly is a "strict superset"? A superset is a set that contains another set, in this case Objective-C contains C; all of it. If it didn't contain all of C, then it wouldn't be a superset at all. So what makes a superset strict?
Jhyrryl
tiobe.com enters top10 websites on the internet after being /.'d ... FATALITY!
# it's real life drama /#
it's only there by popular demand
ARGH! Stop artificially inflating VB's results by using VB's name twice in a post!
Once you start despising the jerks, you become one.
too bad the site went kaputttt....
objective-c sucks "objective-c sucks"
I have been programming in Objective-C and I can tell you it's pretty unpopular with me.
Divide a cake by zero. Is it still a cake?
Steve Jobs had enticed Xerox Parc people to Apple, then NeXT. So this methodology seemed advanced at the time. Also Objective-C was commercially supported while C++ was still basically an open-source hack in the mid-1980s. I was an independent NextStep developer. It was unclear what would win. But as usual cheap and open beat a language you had to buy.
:-), the new MacOS was NexTStep layered with old Mac APIs.
When NeXT took over Apple (oops I mean the other way around
How can Tiobe be the "The Software Standards Company" if I can't even view their website without javascript being switched on?
I have trouble believing TSQL (the MS SQL Server flavor of SQL) has less practioners than Lua, LISP or go. With three times more servers than oracle and all the MS shops out there - Can this be right?
"Knowing everything doesn't help..."
The way you write code in situations like this is an abstraction layer. You write the core code in C or C++, then write an iPhone UI in Objective-C and a WinMo UI in... whatever
One would write the Windows Phone 7 front-end in C# using the Silverlight or XNA API. However, this leaves the question open about a language for the back-end. Standard C++ compiles to CLR bytecode, but the resulting assembly is not verifiably type-safe, and the .NET based target platforms (Xbox 360 and Windows Phone 7) reject assemblies that are not verifiably type-safe. The C++/CLI compiler can be forced to generate verifiably type-safe code with the /clr:safe switch, but the syntax and semantics of pointers in verifiably type-safe C++/CLI code are incompatible with standard C++.
By the way, if you dislike Objective C, try these Javascript frameworks for iPhone development: Titanium (which is cross-platform to some extent with Android) and PhoneGap.
This makes life as easy as navigator.camera.getPicture(getPicture_Success, null, options);
iPhone can be developer using C/C++, and a subset of C++ can compile to the CLR.
I mentioned why that won't work in this comment.
Indeed.com finds many more job listings for Ruby than Objective-C, despite their relative TIOBE ranking.
http://www.indeed.com/jobtrends?q=%22Ruby%22%2C%22Objective-C%22&l=
org.slashdot.post.SignatureNotFoundException: ewg
Windows aps don't require .Net bytecode
I wasn't talking about Windows. I was talking about Windows Phone 7 and Xbox 360,* which do require verifiably type-safe CLR bytecode.
* Xbox 360 has two different devkits. The cheap one requires verifiably type-safe CLR bytecode. The expensive one appears to require a corporation, a dedicated office, and past commercial titles on another platform. I am discussing the cheap one because I see no way for a micro-ISV to qualify for the expensive one.
It's better to just pretend that Tiobes numbers are meaningful.
I always forget, that as technicians we have to keep that attitude of perfection toward users and lower ranks. My fault, I never get Wittgensteins sentence out of my head: "Of what one can't speak, one must pass over in silence."
Hey, there are a lot of people who prefer VB. Matter of fact, I'm not one.
Most C programming these days is systems level - drivers, compilers, database engines, that sort of thing. If you're not working in the embedded world, you probably won't see much C, but if you're writing Linux drivers (for example), C is what you'll be using. So come on out to sunny California, and hack on some kernel modules.
Or, go to work in India or China, for the companies that have outsourced their systems development.
Ha ha. I was just joking and never have used VB myself. QBasic still causes me nightmares though. I can program in C,PHP,Java, Javascript, bit of assembly, perl, python, etc etc. But pulling out my first book for my first failed language from 12 years ago (QBasic for Dummies) I still don't have a damn clue what any of it does. It's enough to scare me away from even trying VB.
Once you start despising the jerks, you become one.
I have been using Objective-C for 22 years. I have written two well regarded programming books. I am writing another one now that emphasizes ANSI C on iPhone OS devices. It is not necessary to write more than a few lines of Objective C when developing iPhone applications.
I am a C++ guru. I prefer Objective-C.
I manage a large commercial software product that contains a lot of Java code as well as C/C++. I prefer Objective-C.
I've never understood why Apple has such an obsession with Objective C. To me it really does seem like being different for the sake of being different.
After you use it for a while it grows on you substantially.
It's simply a different path than other languages have chosen, but it has a lot of power - like KVC observing of property changes on objects, or the way I can use categories to extend libraries I don't have code for.
And hands down Interface Builder is the most usable GUI development tool I have ever used, which stems directly from how Objective-C interacts with objects. In every other language I ended up abandoning GUI design tools to code UI by hand, but IB is a major partner in every iPhone/Mac UI I write.
Yes the syntax is verbose but so what? Modern editors (like XCode) code complete a lot of that typing for you. And in any programming, the actual coding is small compared to thinking about approaches to a problem - so in the end it's not that much different time-wise to actually produce working code.
On top of that though, I think there's an overall savings in time with really well thought out foundation libraries and language abilities that lead to faster coding over many other languages.
I've used a number of other languages really heavily, from Java to C++ to Scheme - and I think Objective-C in the end, is a really good language combined with very good tools from Apple.
I've never really seen the point in pining for other languages that do not philosophically match the platform you are targeting. When I was doing some Windows development I used C++ and the MFC. And though I could use other languages targeting the Mac or iPhone, I never much saw the point in doing so when learning the languages the core foundation libraries were written for gives you an insight into how they are likely built and meant to be used.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Hey, there are a lot of people who prefer VB. Matter of fact, I'm not one.
I didn't know you needed Flash to operate VB...
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
From this I conclude that the results are meaningless.
Not so, they reflect real changes in the programming world. For instance a dramatic improvement in language documentation will result in a language's Tiobe ranking falling. :)
Better to be despised for too anxious apprehensions, than ruined by too confident a security. --Edmund Burke
I can go into more details [about templates for portability between standard C++ and C++/CLI] if the above isn't quite clear.
I sort of understand now, but have you written an article about this? If so, I'd like to link to it from my essay about XNA. If not, I can give you an account on my wiki where you can work on such an article.
printf([[[[[[[[the comment] agree] moderate:[increase addingToValue]] retain] release] retain] stringByAddingString:@"\n"] copy] UTF8String])
actually I love objective C, I just hate counting brackets.
yeah - I'm betting that 90% of the Java questions are "Why the f*** is this happening?" and "Are the java team on drugs?" or "I'm using Netbeans for my java development and it just f***ed everything - are the Netbeans developers on the same drugs as the java devs?"
Hardly a measure of it's popularity.
dnuof eruc rof aixelsid
They probably just use google fight to determine the results
http://www.googlefight.com/
When people ask if I'm an optimist, I say "I hope so". --Bill Bailey
Even though people like to tout Objective-C as Object Oriented, technically it is only Object Based just like C++.
If you want a real OO language you have to look to C# or many other more mature languages that understand the difference between the two.
It may seem simple, but there is a big difference between Object Based and true Object Oriented.
Side Note:
Sadly this is something I have come across a lot in the past few years, and wonder if it is the OSS movement or just the lack of general education that teaches true Object Oriented thinking and programming.
Even C++ and what Object Based abilities it offers are so often lost when a C programmer just mangles together code from a C perspective that only has the appearance of having any object based design.
The OS and software development architectures of Linux and BSD are not object based let alone object oriented frameworks and even the upper layer library sets reflect this non-object thinking. This also occurs in the Win32/Windows world, which is sad considering NT is an object based OS model and by nature the API sets are conducive to thinking in object principles.
The following conditions have to been met for a programming language to be used in a official GNOME application:
I actually like Objective C (and hate coding/reading C++, C# or Python), so this is good new for me.
I'm more intrigued by the apparent ascendance of Go, which is not tied into popular frameworks (say, the way that Obj-C has Cocoa and Cocoa Touch, and C has, um, everything), and is presumably succeeding on its own terms as a language. The fact that it has Google behind it probably doesn't hurt either.
Who knows, it might turn out to be a great successor to Obj-C/C for iPhone developme... oh, wait... section 3.3.1 and the goddamn Apple-Google pissing match. Never mind.
Crediting Clojure's growth to LISP seems a stretch, but I'm not going to complain too loudly, because I still love LISP.
When I read that Obj-C has gained popularity, I was like NO!
Then I read that C has replaced java at the #1 spot, and I was like YES!
Imagine a programmer's version of The Simple Life where Linus Torvalds visits a small town in Alabama where he develops the software for a tour company in VB. "Ewwww" and "That is so hot".
So when did 'more discussions about something' not equate to 'more popular'?
When the discussion generally has more bad stuff to say than good.
and compile it using the Objective C compiler.
Use as little or as much as Objective C syntax as you want.
Given all the hype about AJAX and Web 2.0, I'm surprised by the drop in JavaScript.
"Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
unless you compile it with the unsafe options and use the unsafe features, the C++/CLI language is verifiable.
Safe C++/CLI uses different syntax for arrays and pointers from standard C++, and Xcode would just throw a syntax error when trying to compile it. The common subset of standard C++ and safe C++/CLI lacks any sort of array or reference, making it not very useful without the sort of template-wrapped pointers that shutdown -p now described in a reply to the comment to which I linked.
I also wonder why the story is all about Objective C (complete with the obligatory Iphone and Ipad Slashvertisement), when obviously there are 9 other languages in the top 10. Do they all get a story too? Seems like Slashdot is becoming more and more like an Apple news site...
Awesome! Lego Mindstorms' robot's associated programming language made the top 50!
It's a drag-and-drop, literally object-oriented visual programming "language" built on top of LabView.
Of course, real robotics programmers* use the C-style languages that compile to the Mindstorm brick's processor.
* This is called lobbing a softball.
(-1: Post disagrees with my already-settled worldview) is not a valid mod option.
It would probably be because most of the other Top 10 languages have been at (or near) the Top 10 for years, while Objective C has jumped up from #39 a year ago.
Here you can see the change in Tiobe's ratings for Objective C over time:
http://www.tiobe.com/index.php/paperinfo/tpci/Objective-C.html
Compared to other languages like Java:
http://www.tiobe.com/index.php/paperinfo/tpci/Java.html
Perl:
http://www.tiobe.com/index.php/paperinfo/tpci/Perl.html
or PHP:
http://www.tiobe.com/index.php/paperinfo/tpci/PHP.html
That is a significant change.
Now Tiobe's methodology may be crap overall, but it is measuring a big sea-change ... not a change you'll probably like, but eventually you'll realize that the world rarely goes out of its way to please you.
Exactly. Either way, ObjC's popularity is likely to be based on Apple platforms encouraging it. So that's platform popularity, not language popularity.
This thing is silly. It's obvious a bunch of MIT fanboys figured out how to game the list and move god-awful Lisp/Scheme up in the list. Same goes for "Go" (Google employees with nothing better to do).
What languages are used most often to build Enterprise applications (the bulk of development work in the world)? Java/J2EE and C#/ASPX/.NET. PHP might be in there as well, but using it to build EA's is a bit of a stretch.
Freaking BS why can't Apply adopt a real language. I am sick of 100s of useless languages becoming popular become some executive or company says it should.
Google Go is pathetic, yet because it is google some freaks will try and popularize it. I am amazed that apple has anyone with a logical brain behind them, they are all about artistic facades, thus when everyone else went to C++ they couldn't stand it and made their own language. It is VB all over again.
popularity never had anything to do with quality. Look at what's top of the 'popular' music charts at the moment for an example.
Popularity does generally relate to quality, or at least a perceived quality. There are a lot of plebs that actually like what's on the 'popular' music charts. After a quick google, the most common definition of popular goes along the lines of liked or admired by many or by a particular group. One could argue that the topic of Objective-C is popular, but that the language itself is not.
Shouldn't they also use "-sucks"?
But monotouch compiles C# via obj-c to native iphone
Until Apple bans MonoTouch in the iPhone Developer Agreement.
Searching IKVM's wiki returned 0 results about type-safe, memory-safe, silverlight, or compact (as in .NET Compact Framework which Silverlight and XNA use). Can IKVM be used to write a Silverlight app in Java, or is it designed only for making apps that run on .NET Framework on a PC?