Re: Thoughts on Cocoa source code
Re: Thoughts on Cocoa source code
- Subject: Re: Thoughts on Cocoa source code
- From: Jens Alfke via Cocoa-dev <email@hidden>
- Date: Fri, 11 Oct 2019 10:21:05 -0700
> On Oct 11, 2019, at 6:18 AM, Turtle Creek Software via Cocoa-dev
> <email@hidden> 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 (email@hidden)
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:
This email sent to email@hidden