3 ms·
There is more to OO than Java. :) ObjC has some syntax warts, due to being an extension of C like C++, but it is far better thought out than C++, IMO. The meth
by SoftwareMaven 14y ago
There is more to OO than Java. :) ObjC has some syntax warts, due to being an extension of C like C++, but it is far better thought out than C++, IMO.
The method signature issue is a direct result of the C history. Far easier (at the time) to tell the compiler in advance about signatures than to force it to compile everything twice to find them (which is, roughly speaking, what Java does, except the second "compilation" happens at run time).
ObjC is a truer OO, IMO, because it focuses more on objects and message passing rather than method calls. As Categories and optional protocols show, this provides a far more flexible approach.
The conditional compilation comment confuses me and makes me think you don't really understand what's happening under the hood. When you compile Java, you get byte code tat requires a VM. When you compile ObjC, you get native code. Now imagine dealing with an architecture as different as PowerPC and x86. All those differences were conditionally compiled into your VM. In ObjC, you need to deal with them yourself (and all the other positives and negatives that implies).