Re: starting with Cocoa!
Re: starting with Cocoa!
- Subject: Re: starting with Cocoa!
- From: Conrad Shultz <email@hidden>
- Date: Fri, 21 Jan 2011 23:30:40 -0800
Janos Syd Nepthali Pao wrote:
> Hi all!
>
> I'm glad to find this mailing list. I'm starting with Cocoa (side by
> side with iOS development), i wanted to learn software development (this
> totally rocks!).
>
> I'd like to ask for your hints, advice and words of wisdom --anything
> you can share for someone just beginning his journey here.
It's unclear to me whether you are totally new to programming or just to
Cocoa development, so my answers might be a bit scattershot.
Nevertheless, in no particular order:
Especially if you are new to programming in general, find a good intro
book to help you out. For desktop work I recommend Hillegass' "Cocoa
Programming for Mac OS X," and for iOS work, try whatever the current
incarnation of the Mark/LaMarche "Beginning iPhone Development" is.
Familiarize yourself with the documentation. Every Cocoa class is
thoroughly (if not always coherently) documented in Xcode and on the
Apple developer site. The "Programming Guides" (e.g.
http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html)
are often quite good at getting your feet wet with a new set of features
and/or classes. While the documentation may be intimidating at first,
you will quickly come to appreciate its value. Most beginner questions
can be addressed within the documentation.
Apple provides a lot of sample code, almost all (if not all) of which is
packaged nicely as a ready-to-build .xcodeproj. Run it. Modify it.
Make it crash, then fix it. But beware: even Apple is known to have a
bug or two in their code, so treat the samples as guides, not as iron laws.
Learn the basics of using a debugger. GDB is currently most prevalent,
though LLDB is the up-and-coming I believe. If you don't know what
these terms mean yet, you will soon enough.
Learn the memory management rules. Even if you plan to use garbage
collection. Seriously. See
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmRules.html.
It seems like a quarter of the questions on this list boil down to
forgetting, ignoring, or improperly implementing these rules. (I
certainly have done so myself on occasion.)
Even if you're working alone, choose and use a revision control system.
I use mercurial (http://mercurial.selenic.com). Most I think use git
(http://git-scm.com). Some use Subversion
(http://subversion.tigris.org). They're all free, and have their own
strengths and weaknesses. Corollary: keep your computer backed up,
especially given how old your hard drive probably is from your
description below.
Most of all, have fun! Don't be afraid to experiment. You won't break
your computer, and you will learn a lot.
> Before anything else, i would also like to point out that i have several
> software hindrances (but i'd like to call them challenges). I own an old
> Macbook (this is the first generation macbook, 13inch white), it's still
> running on Tiger (i haven't updated to Leopard yet). I think the XCode
> that came with this OS is already obsolete?
What Seth said.
And: You have probably already discovered this, but there is a wealth of
developer tools (including the latest version of Xcode) at
developer.apple.com. A not insignificant amount of material (esp.
pre-release stuff) requires an iOS or Mac developer program membership,
a _very_ small financial investment you will want to make if you start
doing this at all seriously.
> but the bottom line is i really wanted to join the team and this is
> passion. I wanted to meet great people all over the world working with
> software development.
Great to have you! As a relatively recently minted Cocoa developer I
know where you are coming from and have found the helpfulness and
welcoming nature of the community quite pleasant.
--
Conrad Shultz
Synthetiq Solutions
www.synthetiqsolutions.com
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden