views:

293

answers:

3

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.

+1  A: 

Wow, this is a very general questions, and there are so many resources on so many things that you could refer to ...

In saying that though, perhaps a good starting point is a general book ( personally I like books to begin, as I find often a good book tends to flow logically and walk you through a topic - where web resources are better when you are more experienced and know exactly what you want to find out in a very narrow knowledge domain).

I really like "The Pragmatic Programmer : From Journeyman to Master" by Andrew Hunt and David Thomas. Published by Addison Wesley. Although you may not agree with it all, it has a lot of food-for-thought.

Although you are already an embedded programmer, and some of this book you already know off-by-heart, it has many pearls of wisdom for becoming a good programmer (or Identifying that you'll never become a good one! ).

Also, you could consider looking at some Design Pattern books, specifically on the languages and platforms you are interested in to give you good code examples ( and hopefully help comprehension).

Another book that is interesting in terms of 'Practices' is "Facts and Fallacies of Software Engineering" by Robert L Glass. Published by Addison-Wesley.

Have a look at some of the articles on the Joel on Software web site, these are also often thought provoking and relevant.

Hope that this is a helpful start.

Jayden
I have read The Pragmatic Programmer - excellent book!
amo
A: 

http://stackoverflow.com/
http://codeproject.com/
hours and hours of stuff to learn... :)

Click Ok
+1  A: 

A good book on design patterns will take you a long way in getting a feel for how to work with some of the built in structures in cocoa, like awakwFromNib, windowDidLoad, etc.

Here's one recommendation:

http://www.amazon.com/dp/0201633612/

After you've read a couple of chapters in that book, you might want to pick up a good book that goes specifically into the framework and development environment you want to start learning about.

Dirk Stoop