4 ms·
There are, but Objective-C was unique at the time in terms of being object-oriented and late binding and compiled to machine code and interfacing efficiently wi
by yarrel 12y ago
There are, but Objective-C was unique at the time in terms of being object-oriented and late binding and compiled to machine code and interfacing efficiently with C code.
IMO these features made it more productive than C++ or Pascal for developing GUI-based applications.
- pjmlp 12y agoAll those features apply to C++ and Object Pascal as well.
- pedrow 12y agoDoes C++ have late binding? For example, in the Obj-C Cocoa framework, a menu item can determine, at run time, whether the current control can respond to it, and enable/disable itself appropriately. Say if a button had the focus, the Paste menu would be dimmed because you can't paste a button.
- pjmlp 12y agoThat is not late binding by CS speak. Late binding is deciding at runtime the real implementation of a method to be called, which in C++ is done at via virtual method calls. What you are describing is actually an example dynamic types and reflection. In C++'s case, there are plenty of reflection libraries to choose from.
- blub 12y agoUnless we're talking about ancient versions of C++, those productivity advantages of Objective-C are mostly a myth which I have yet to see any argumentation for. The whole point is moot though, because Swift is the future. It's quite amusing seeing the Objective-C community trying to reconcile their irrational love of the language with the reality that Apple communicated - it's a disadvantage for the platform, keeping developers away with its unusual syntax, lack of safety and overcomplicated paradigms.
- gchpaco 12y agoInterface Builder was impossible in the C++s of the day. It is merely extremely difficult today. Remember that what IB did was build the UI using the actual elements, so you could play with it even without the logic hooked up, serialized that entire object tree, and then deserialized it at runtime.