It makes a lot of sense and toolbox programming is a pain - it was quite low-level in its day too. The downside is the you end up with an app that runs on classic MacOS but doesn't look anything like a classic MacOS app. I think that's a problem somewhat inherent in the platform - the system-provided GUI programming model was primitive but users cared about the look/feel of the UI just as much if not more than now.
I'm not sure I'd agree that the Mac toolbox is primitive. Reflowing forms to reflect a resizable window wasn't a common technique at the time; Macs had a predictable screen size and DPI. Abstracting the layout of a form from code via a resource was a very forward-thinking approach for the day. Among other advantages, fiddling with ResEdit was very empowering for users who might not even have access to the source code of an application!
It's not really primitive by intent but it's quite primitive in reality because of the drastic constraints on the original target platform. So yes, things like resources are a place where intent and implementation are relatively close but much of the rest of it isn't. Consider that System 6/7 are of the same vintage as Nextstep and the Nextstep model is still in very wide practical use today.
Comments
It makes a lot of sense and toolbox programming is a pain - it was quite low-level in its day too. The downside is the you end up with an app that runs on classic MacOS but doesn't look anything like a classic MacOS app. I think that's a problem somewhat inherent in the platform - the system-provided GUI programming model was primitive but users cared about the look/feel of the UI just as much if not more than now.
I'm not sure I'd agree that the Mac toolbox is primitive. Reflowing forms to reflect a resizable window wasn't a common technique at the time; Macs had a predictable screen size and DPI. Abstracting the layout of a form from code via a resource was a very forward-thinking approach for the day. Among other advantages, fiddling with ResEdit was very empowering for users who might not even have access to the source code of an application!
It's not really primitive by intent but it's quite primitive in reality because of the drastic constraints on the original target platform. So yes, things like resources are a place where intent and implementation are relatively close but much of the rest of it isn't. Consider that System 6/7 are of the same vintage as Nextstep and the Nextstep model is still in very wide practical use today.