4 ms·
The way you state it is a little negative, but it's an interesting question nonetheless. I think Objective-C would not have been on many developers radar if it
by w0utert 15y ago
The way you state it is a little negative, but it's an interesting question nonetheless. I think Objective-C would not have been on many developers radar if it weren't for the fact that Apple frameworks use it extensively (they don't 'force it on you' by the way, as you can easily use C or C++ for anything except interfacing with Obj-C frameworks).
That said, Obj-C for me is very much an acquired taste. I had seen it a few times before I started developing iOS applications, and on the surface, it never appealed to me at all. The idea to use it for anything never even crossed my mind, and looking at the sad state of GNUstep usage and the many modern Obj-C features GCC doesn't implement, I'd guess it's not really popular in the FOSS scene either.
Now that I have used Objective-C for some time, it would actually be a serious option anywhere I used to automatically pick C++ before. The more you learn about Obj-C and the more you use it, the more you will like it. It basically has most of the good things of C and C++ without many of their downsides, and it adds some almost Pythonesque dynamic features that are very useful and elegant.
IMO Objective-C deserves a little more credit than 'just the language Apple uses'
- eternalban 15y agoI believe Go will eat Objective-C's dessert ("general programming") in the "good things of C and [C related languages]" language category. I would guess (but don't know the compiler) that Objective-C is a better choice than Go if you want more precise control over memory layout and specially management. But that feature is a PITA when you don't need such control and would much rather the language runtime take care of memory and GC.
- kstenerud 15y agoObjective-C supports GC. You can choose to use it or not in OS X. In iOS, there's ARC.
- meow 15y ago"they don't 'force it on you' by the way, as you can easily use C or C++ for anything except interfacing with Obj-C frameworks" Unfortunately, since most of the popularity is due to iOS applications - developers have to touch these frameworks at one point or another and that means touching at least a tiny bit of ObjC
- seclorum 15y agoThing is though, with a bit of application of the Toll Free Bridge, you can access those frameworks from C or C++ as well .. http://www.cocoadev.com/index.pl?HowToCreateTollFreeBridgedClass http://www.cocoadev.com/index.pl?HowToCreateTollFreeBridgedC...