

Objective-C overtakes C++ to become 3rd most popular language - nevster
http://www.tiobe.com/index.php/content/paperinfo/tpci/

======
cageface
Even taken with a large grain of salt as the TIOBE rankings must be, this is
unfortunate since Obj-C is a pretty poor language, IMO.

After a year of working almost exclusively in Obj-C I still haven't come to
enjoy its verbosity and awkward and incomplete collection classes. The lack of
namespaces and inadvertent selector overloading are a regular nuisance. And
the Cocoa frameworks are more dynamic than they need to be and heavy use of
notifications and KVO make code a rat's nest of indirect jumps that are very
hard to follow.

It's ok as a widget glue language, I suppose, but really a lot of other
languages could serve that purpose just as well without standing over the
flaming pit of C all the time.

The new collection literals and operator overloads for the collection classes
will help, of course. And you have to give Cox some credit for a design that
was, in its time, quite visionary. But language design has caught up to and
passed Obj-C by in the meantime. If it weren't for my reservations about
having one more software layer between me and the machine I would have moved
to MonoTouch/C# a long time ago.

~~~
zoul
I think that Objective-C is pretty sweet.

The problem is that you can’t cherry-pick language features. Each of them has
implications for the rest of the language, forcing you into some compromise.
As an example, when Objective-C picked great compatibility with C, it picked
some great strengths (using existing C libraries, language familiarity, being
close to the metal) along with some downsides. For me, the Objective-C
strengths are worth the downsides.

Some of your points are purely subjective. I would pick Objective-C verbosity
again, because it makes me think less. I can generally parse long words at a
glance and code completion saves me typing. Some identifiers are too long
indeed, but the consistency is a win. For me.

I don’t see what’s so awkward about collection classes and you don’t say what
is that you miss. Granted, the collection literals are too verbose, but that
will get much better with the upcoming Xcode release, just as you said. And
even the older, verbose syntax is not a language deal-breaker for me.

KVO and notifications are not always roses, but can you give an example of
what bugs you along with a solution in a different language that you consider
superior?

Again, my main point is that each language design is a compromise and I quite
like the compromise represented by Objective-C. Namely, the simplicity of the
language, the balance between the metal and a higher-level language, the
readable syntax and the standard libraries.

~~~
nevster
Also, any Objective-C developers should definitely try out AppCode from
JetBrains - <http://www.jetbrains.com/objc/>

~~~
cageface
AppCode definitely makes things a little less painful.

Unlike XCode, it even gives you pretty decent refactoring, which is impressive
considering how hard that is in a language with a preprocessor.

------
petercooper
Though on the same chart Ruby is climbing while JavaScript falls. Being
involved with both, that's certainly not how it's playing out on the ground..
(Yes, yes, the old story about TIOBE being useful for trends and not
absolutes.. :-))

~~~
damian2000
Yeah ... agreed. I can't understand how Perl could be above JS either.

~~~
charliesome
You underestimate just how much Perl there is out there (hint: a lot)

~~~
se85
I'm sorry but there is no way there could be more perl out there than
javascript.

Although I agree that a lot of people underestimate perl generally speaking.

------
craigvn
Shows how pointless TIOBE is. C++ is still light years ahead of Objective-C
use in the field.

~~~
wsc981
In which field? Surely Objective-C & Apple's frameworks are much more suited
towards general purpose mobile apps? And surely C++ is much more suited
towards e.g. games?

~~~
jlarocco
How about anything that isn't developed solely for iPhone/iPad?

Objective-C is high on the list because it's trendy to write iPhone apps, so
people blog about it and write a million "How to get started with objective-C"
tutorials for it.

Outside of that niche, and a really small group of OSX developers, there's
zero Objective-C development. It's barely even possible to write Objective-C
on Windows or Linux.

~~~
terhechte
On Linux, Gnustep offers a really good Objective-C stack.

------
chmike
Most used is not the same as most popular !

People use objective-C when programming for iOS or iPhone. These are popular,
not the programming language.

~~~
veyron
At this stage there are alternatives like PhoneGap or RubyMotion, allowing you
to bypass objc entirely

------
Skywing
Crap. Time to switch to C.

------
nevster
Usual caveats about taking TIOBE with a grain of salt...

~~~
robert_nsu
I glance at TIOBE from time to time. My biggest gripe is just because a
language is searched does not mean it's being used.

------
thetabyte
Do that many people still use Visual Basic? Honestly, I'd like to know. I'd
think surely that group of people would be on C#/.NET?

~~~
yen223
There's still a lot of legacy software running VB, e.g. the camera software
that I'm currently working with now. Software written in VB.net for the most
part plays nicely with C#.net, so there's no hurry to upgrade.

I find it hard to believe that it actually _increased_ in ranking though.

------
veyron
Not really surprising: Except for some very limited cases, I found that python
performance is comparable to C++ performance for solving problems (obviously
using python/C++ idioms where relevant). I rarely use C++, opting for C for
performance reasons.

~~~
charliesome
> _Except for some very limited cases, I found that python performance is
> comparable to C++ performance for solving problems_

I have a hard time buying this. What cases have you found where Python is
comparable to C++?

~~~
cageface
Python is comparable to C/C++ when the code you write spends most of its time
in the many Python libraries which are written in C.

If your program spends most of its time actually executing code in Python then
a comparable C++ implementation will probably be two or more orders of
magnitude faster.

------
mhd
Given the peculiarities of Tiobe, I'm more surprised about Ada being on the
list at all.

~~~
yen223
Out of curiosity, who uses Ada? The DoD?

~~~
ricardobeat
The aerospace industry, traffic control, railways, industrial automation,
banks and the military.

<http://www.seas.gwu.edu/~mfeldman/ada-project-summary.html>

------
stewie2
I really like objective-c. I think my perfect language should be something
between C++ and objective-c.

