> On Oct 11, 2019, at 6:18 AM, Turtle Creek Software via Cocoa-dev > <cocoa-dev@lists.apple.com> wrote: > > Our time is best > spent solving business-related problems. Along the way we have learned > many programming and human-interface skills, but the less time we need to > spend on that, the better.
Totally reasonable. The ironic thing is that Cocoa is actually a lot easier to program in than Carbon (even with PowerPlant, I'd say.) But of course, any API you don't know is by definition harder to use than one you already know. > If a programming environment requires zombies, disassemblers and other BS > just to make it work, that is a big problem. Cocoa doesn't. I've never needed to disassemble framework code since I left Apple. There are probably some situations when dealing with weird bugs or misbehaviors where it would be useful to do so, but it's not typical. > I suspect that Cocoa source code is ancient C that is badly in need of a > refactoring. It's almost all Objective-C, actually. The C code is down in CoreFoundation. And that code gets refactored / rewritten as necessary, I'm sure — I know about major rewrites of NSView, NSTableView and NSTextView that occurred while I was still at Apple, and I'm sure there have been more since. It was very well-written code back then, and I'll bet it still is. They've also done two complete redesigns — first UIKit, and now SwiftUI. You learn a lot when you rewrite something. SwiftUI in particular benefits from some big paradigm shifts (ugh) that have been happening in the field, like reactive programming. > There probably are some parts of Cocoa that are extremely proprietary- but > even then, plain old patents are better than hiding the code, as a way to > protect the jewels. Not all this stuff is patentable, and patents are very expensive to file. Not having readily available source code to refer to raises the bar to entry. I hope I won't offend you if I point out that as you are (as you freely admit) a small business that doesn't focus on CS or software engineering, you're not really in a position to give engineering or business advice to Apple. Apple has some of the best business and software people in the world, which is not to say that they don't make mistakes sometimes, but they generally have pretty good reasons for the way they do things. What you can do is give them feedback about your specific experience, as you're doing, and I hope that someone at Apple is reading this thread and taking notice. —Jens _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com