| ▲ | kragen a day ago | |
I think the claim was not that the NS* API of NextStep was "10× more productive" but that the Objective-C programming language was. Objective-C is fantastic at calling existing C APIs. It's even easier than doing it in C# or LuaJIT, and much easier than doing it in Python, Perl, Tcl, Java, JS, etc. You're right that there are programs that are just a thin layer of glue over existing C APIs, and the existing C API is going to largely determine how much effort that is. But there are other programs where calls to external APIs are only a small fraction of the code and effort. If OO was the huge productivity boost Jobs was claiming, you'd expect those programs to be much easier to write in Objective-C than in C. Since they made the choice to implement Objective-C as part of GCC, people could easily write them on other Unixes, too. Mostly they didn't. My limited experience with Objective-C is that they are easier to write, just not to the extent Jobs claimed. OO makes Objective-C code more flexible and easier to test than code in C. It doesn't make it easier to design or debug. And, as you say, other languages were OO to a similar extent as Objective-C while similarly not sacrificing efficiency, such as C++ and (many years later) Java and C#. | ||