My take is do what works. If you ship an app and it makes the user happy, who cares how much you know about bit shifting?
OK, let me put it this way (this is not a rhetorical question, and neither do I pretend to know the answer): Do you think that many Cocoa programmers ship apps that make users happy without knowing a bit more about C?
Some people would rather learn as they go, and research lower-level things when the need arises.
Do you only recommend that as a part of a learning process, or do you think it can also be applied when someone wants to actually develop commercial applications? Are there any well-respected Cocoa developers with a great product portfolio without a deep knowledge of C?
My gut feeling is that combining Cocoa building blocks can only take you to a certain point. If you want to add some really unique functionality to your killer app, you cannot always rely on pre-built stuff. Please correct me if I'm wrong here.
My opinion about that is it's a bit like learning the details of how an engine works before you're allowed
Funny you should say that. I've always used that analogy when discussing computers from a user's point of view: the Mac lets you just get in and drive, whereas most Linux distros will force you to get greasy up to the elbows before you can do anything.
But I wouldn't have taken this analogy so far as to include programming as part of the user experience.
Do you believe that programming in Cocoa is just a small step beyond being a power user? In my experience, a programmer is still a very unique beast, and despite the ease of Cocoa, there's still a huge chasm separating those who program from just about everyone else, including the most advanced users or even systems administrators.
I think functions in Excel or Mail rules or Automator workflows or FileMaker databases may blur the line between user and developer, but Cocoa still seems to be firmly implanted on the developer side of the great divide.
In other words: a mechanic, not a driver. And thus, some knowledge of the low-level bits would be neat.
by Andras Puiz — Oct 23
My take is do what works. If you ship an app and it makes the user happy, who cares how much you know about bit shifting?
OK, let me put it this way (this is not a rhetorical question, and neither do I pretend to know the answer): Do you think that many Cocoa programmers ship apps that make users happy without knowing a bit more about C?
Some people would rather learn as they go, and research lower-level things when the need arises.
Do you only recommend that as a part of a learning process, or do you think it can also be applied when someone wants to actually develop commercial applications? Are there any well-respected Cocoa developers with a great product portfolio without a deep knowledge of C?
My gut feeling is that combining Cocoa building blocks can only take you to a certain point. If you want to add some really unique functionality to your killer app, you cannot always rely on pre-built stuff. Please correct me if I'm wrong here.
My opinion about that is it's a bit like learning the details of how an engine works before you're allowed
Funny you should say that. I've always used that analogy when discussing computers from a user's point of view: the Mac lets you just get in and drive, whereas most Linux distros will force you to get greasy up to the elbows before you can do anything.
But I wouldn't have taken this analogy so far as to include programming as part of the user experience.
Do you believe that programming in Cocoa is just a small step beyond being a power user? In my experience, a programmer is still a very unique beast, and despite the ease of Cocoa, there's still a huge chasm separating those who program from just about everyone else, including the most advanced users or even systems administrators.
I think functions in Excel or Mail rules or Automator workflows or FileMaker databases may blur the line between user and developer, but Cocoa still seems to be firmly implanted on the developer side of the great divide.
In other words: a mechanic, not a driver. And thus, some knowledge of the low-level bits would be neat.
Any thoughts?