• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Learning Cocoa, but no programing experience, possible?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Learning Cocoa, but no programing experience, possible?


  • Subject: Re: Learning Cocoa, but no programing experience, possible?
  • From: Jeff LaMarche <email@hidden>
  • Date: Wed, 1 Feb 2006 16:01:55 -0500

On Feb 1, 2006, at 1:35 PM, Scott Ellsworth wrote:

I would not learn C first. I would learn Objective C as part of learning Cocoa. I give the same answer to new Java programmers who ask about learning C, or just learning the language and not the libraries - start with the language and libraries you want to use, and learn them as you need to.

I hate to disagree with you, since I actually agree with most of your post, but I strongly disagree with this bit of advice. I do agree that having prior Java or C++ experience can actually be detrimental to somebody learning Cocoa given how different the object models are, but I've also found that a lot of people who don't take the time to learn the fundamentals of how C works are at a disadvantage when coding Cocoa. They often write very inefficient code and incur object overhead in situations where it's not advisable to use objects. The great thing about Objective-C being a superset of C is that you can use all of C, and there are times when it makes sense to just use C and not incur the overhead of objects or messaging.


I think it's important to have a grasp on the lower level stuff in order to write good code. How can you write good code if you don't know what's happening when your code fires? I've known way too many VB and Java programmers who write horribly inefficient code because they never bothered to learn anything at a lower level of abstraction and just started right in with these higher-level languages. They don't understand what their code does and as a result write a lot of bad code. I've spent a lot of my professional life cleaning up after people like this and am not a fan of "shortcuts" to becoming a programmer because they usually involve not learning something you should know. Don't arm yourself with only a hammer and think you're ready to build a house because you've got it.

I don't think you need to spend time hand-coding assembly to become a good programmer, but I do think you need to know the language you are programming in, and you can't know Objective-C without fully knowing C. And if you try to learn all three (C, Objective-C, Cocoa) at the same time, it can be a bit overwhelming for somebody with no programming background.

So, long story short - I personally think you should learn C, then Objective-C, then Cocoa. Just my 2ยข, your mileage may vary, yada yada.

Jeff

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Learning Cocoa, but no programing experience, possible? (From: Christian Cruz <email@hidden>)
 >Re: Learning Cocoa, but no programing experience, possible? (From: Scott Ellsworth <email@hidden>)

  • Prev by Date: NSTableView drag and drop - re-target drop to entire table?
  • Next by Date: doubleClick and tableView Trouble
  • Previous by thread: Re: Learning Cocoa, but no programing experience, possible?
  • Next by thread: Re: Learning Cocoa, but no programing experience, possible?
  • Index(es):
    • Date
    • Thread