yrome78
Joined 14 years ago
Karma
2
Submissions
3
Member since
Feb 21
Joined 14 years ago
Re learning: I highly recommend this site: http://cocoadevcentral.com/d/learn_objectivec/
Very helpful for getting your mind around basic concepts.
Re: Interface builder. I think the trick is knowing when to use it and when not to. Certainly it is incredibly useful for getting your layout exactly as you want it. (This was a refreshing change from html) But it can be cumbersome if you're trying to share common interface elements via subclassing or without wanting to load a nib file every time. Occasionally I would use it just to get the layout right and then implement the same interface in code.
I think a lot of it comes down to establishing a set of tools that can be used for whatever problem you encounter. No matter the language or the problem you want to have at least a vague idea of how it might actually work. Further, when you in inherit a code base, you want to have the tools to dig in and find out how the thing works. And when problems arise, you want to be able to get inside the black box and ask things like "Does this result make sense."
A big missing piece in a CS degree is an understanding of the SDLC. The use of svn, tagging and build scripts is essential to any software development effort, and yet it is rarely mentioned. Creating elegant algorithms is great fun, but when the client is screaming that the code doesn't work and all you can say is "works on my machine", you'll wish you had the warm blanket of a proper build process.