I'm an embedded programmer - primarily very small systems where I deal with data as bits, not objects.
I'd like to learn how to program for Mac and PC using their native libraries (Cocoa and .Net). I've hacked a few things together in Xcode and Visual Studio, but I feel like I'm hacking, not programming. I put things in AwakeFromNib without knowing if that is inviting a bug or bad style or just fine. There are fundamental concepts of programming for desktop applications that I need to learn, I think.
Can you recommend resources or books on the subject? I'm especially interested in how to write good code for this scale of program - collections of best practices, coding standards, etc.
Edit: There are lots of resources available on good code in general. Those are definitely must-reads, but I am looking here for resources that are specific to writing desktop applications. Resources that would say, for instance, what typically belongs in AwakeFromNib, not just when this callback is triggered.