Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I started learning objective C, but I was wondering what it is useful for apart from Apple devices development. Is there a really alive scene of software development outside of the Mac products?

share|improve this question
possible duplicate of Is Objective-C 's future promising? – Caleb Nov 14 '11 at 16:43
You COULD program non-apple projects in Objective-C, you could also program non-legacy projects in COBOL. You will even find various people advocating one or the other, but neither is typically used in cases where developers are given a choice. – Bill K Nov 14 '11 at 23:53

2 Answers

In theory, it can be used on many systems, via GNUstep. In practice, it is useful only in the Apple eco-system.

share|improve this answer
1  
I'd suggest changing "only" to "mainly." There are some projects out there that use GNUstep. – Caleb Nov 14 '11 at 16:42
2  
Yep, they could rename it "Apple C" and that would still be mostly accurate. Time will tell if this is a strength or a liability. – anon Nov 14 '11 at 23:59
1  
@Caleb: no one is using GNUstep anymore. It's not even available as an option in any of Linux distros. GNUstep looks like something from 1980's, it's year 2011 now. – vartec Nov 15 '11 at 16:45
@vartec If you sort the list I linked by last update, you'll find that there are a few (three, in fact) projects that were updated this year. It's likely that there are some in-house applications still being maintained as well -- legacy in-house applications never die. – Caleb Nov 15 '11 at 16:52
2  
@Caleb: used by some 20 ppl in the whole World? – vartec Nov 18 '11 at 9:55

In addition to Mac OS X development, iOS apps (for iPhone, iPad and iPod Touch) is reportedly a multi-billion dollar business. Most of them appear to be written in Objective C.

Plus, professional skill in using a dynamic OOP language can be a good general asset, if you don't know any other dynamic or OOP paradigm.

Objective C is also a strict superset of ANSI C, so if you learn the complete Objective C language with all its subsets, you also end up with C skills transportable anywhere.

share|improve this answer
10  
That last paragraph is misleading. You can write megabytes of Objective-C code without ever touching a lot of C features and techniques. For example, Obj-C programmers rarely, if ever, use malloc()/alloc()/calloc() or free(), and while C programmers are very comfortable reading and writing directly to things like files and sockets, Obj-C programmers generally work at a higher level. You simply can't say "I know Obj-C, therefore I know C." – Caleb Nov 14 '11 at 16:31
@Caleb: If a programmer doesn't know that stuff, that programmer can only claim to know a (small?) subset of Objective C, IMHO. – hotpaw2 Nov 14 '11 at 19:07
1  
You could say that, but most people would say that "knowing" Objective-C means knowing enough to work productively in an Obj-C environment. Many people claim to "know" English, but how many know what an ergative verb is, or could list uses for the subjunctive mood? That knowledge often isn't necessary. Likewise, you can certainly claim to "know" Obj-C without knowing every last bit of it. I think I know both C and Obj-C pretty well myself, and I'd make that claim without regret in an interview, but there are certainly things I don't know in both languages. – Caleb Nov 14 '11 at 19:21
6  
@hotpaw2: Programming languages are more than just syntax and semantics; to learn one well means learning the idioms and techniques to write good code in it. Knowing how to best do something in Objective-C doesn't mean you know how to do it well in C. – David Thornley Nov 14 '11 at 19:22
@David - The best use of many (most?) programming languages is to only use a carefully chosen subset of that language. But the rest of the language might still be fair game in during an interview for anyone claiming some expertise. The number of companies asking C pointer questions during interviews for iPhone developers in significantly non-zero. – hotpaw2 Nov 14 '11 at 20:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.