|
|
|
|
|
by msbarnett
5760 days ago
|
|
Seems unlikely. It's always been possible to create Mac apps in, say, C++ using Carbon or Qt, but ObjC/Cocoa has remained very popular despite that. It's an exceptionally good and low friction framework that people tend to like. Most of the anti-Objective-C sentiment seems to come from people offended at the notion that they might be required to learn something new rather than stay forever in their comfort zone. |
|
The biggest problem with Objective-C, in my opinion, is that the syntax and philosophy is a step backwards in time in terms of programmer friendliness. It is so much more verbose and clunky compared to Python, for example. Use Python's built-in dictionary type a while, then be forced to use Objective-C's dictionaries. Yikes. Then the memory model is more complex and more prone to error due to inconsistent lifecyles and naming conventions. The XCode/iOS project model, build generation and signing crud is just nasty compared to how you can develop and deliver web apps to production in, say, Python, or even desktop apps. It's just a nasty and overly complicated rat's nest of special cases. I counted once and an iPhone app has something like 8+ different names or identifiers, each used in subtly different ways in different places, just asking for confusion and conflict. I ship a desktop app or web app and I have effectively one or two identities to deal with, and no Apple hoop-jumping to do, no publication delays, no long silly list of things I can and cannot do, etc.: heaven in comparison.
And no it's not about learning something new. I'm personally on like my 8th language used professionally, and love learning new things. But sometimes "new" things are worse than what you already know. In that case, learning that new thing is bad, and a poor use of your time. I've learned enough Objective-C to be productive, but also enough to know it's a step backward from some other tools in my toolbox, so bad use of my time in an ideal world. I'm thrilled about Apple's change today because it raises hope I might be able to use a sexier language than ObjC/C/C++.