Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Learning Cocoa over the summer

Learning Cocoa over the summer
Thread Tools
Mac Elite
Join Date: Sep 2000
Location: New York
Status: Offline
Reply With Quote
May 17, 2002, 08:59 PM
 
OK so I finally had my last final and I now have the summer to learn cocoa, which is something that I really wanted to do last summer but I really wasn't ready. I'd like some advice on how to get started, which book is best, and some estimations as to how much I can learn in just a summer.

Let me start by explaining my programming experience. I am a sophomore computer science major (or technically a junior now) but I knew absolutely nothing before I got to school. The fall of last year I started learning C in the intro CS course, which they make very hard to weed out people (the first week they had us drawing mandelbrodt fractals in post script). I didn't take the hint and really had to struggle through it. The spring semester I took no programming classes and over last summer I did a summer project at school that was designed to help me learn to code better. It really didn't work. They encouraged me to work in java. I was also working with a partner who was a lot worse than I was and it made it hard to get anywhere. I wrote a single-threaded server application but I really didn't use any object oriented parts of java at all. My program worked entirely through the main function. That's obviously not the best way to learn to say the least. Then this fall I took a couple CS courses but didn't really learn too much more, but then this spring I took some really hard CS classes and I learned a lot. I now use Project Builder for all of my work and I'm getting used to it (and its slow compile times) and I really enjoy having a graphical debugger). In one of my classes I just finished writing an entire unix shell! That was pretty hard, and it took a long time. I also wrote a SPARC assembler in the class. I really feel like I am now getting the hang of C and I this entire school year I have been diving deeper and deeper into unix. I have been learning how to write modular and reusable code as well as ADTs. I also took an algorithms class that gave me some experience with that stuff. I didn't enjoy that class. It was really hard.

So that's where I stand. I'm really not sure which book to buy and how to get started. I was under the impression that learning cocoa and objective-c pretty much happen at the same time since you can't really make an obj-c program without it being a cocoa app. Is that correct? I'd like to really get something accomplished this summer, but I don't expect to have built some massive application (maybe something small?).

Any direction that you guys could provide would be great. I can't wait to get started. For the first time I am really enjoying coding and I want to get started at cocoa before this feeling goes away! Thanks.

NOTE: I apologize for starting my own thread on this, since there are others, but I think my situation is different. I'm also not going to ask too many questions. I think that no matter what direction I head in I'll learn what I want to, but I was hoping for some advice from some of the veterans on this board. Thanks.
     
Mac Enthusiast
Join Date: Sep 2000
Location: Vermont, USA
Status: Offline
Reply With Quote
May 17, 2002, 09:20 PM
 
I would get O'Reilly's book, Learning Cocoa. I think it is very good for beginners.


Personally, I just went through Apple's tutorial for a Cocoa Java app and that got me started. I had close to zero programming experience and now I have two pretty nice apps out.
     
Dedicated MacNNer
Join Date: Oct 2000
Status: Offline
Reply With Quote
May 17, 2002, 11:58 PM
 
Originally posted by macrophyllum:
<STRONG>I would get O'Reilly's book, Learning Cocoa. I think it is very good for beginners.


Personally, I just went through Apple's tutorial for a Cocoa Java app and that got me started. I had close to zero programming experience and now I have two pretty nice apps out.</STRONG>
Rather than the "Learning Cocoa" book, I would get O'Reilly's newer offering, "Building Cocoa Applications" by Simson Garfinkel and Michael K. Mahoney. I have heard it described as a "knock-off" of "Cocoa Programming for Mac OS X" by Aaron Hillegass, but I believe it is just as good and is complementary. However, if you have been using Project Builder/Interface Builder, you'll probably skip the first three chapters of "Building Cocoa Applications".

I prefer the Garfinkel book, but you'll probably get more recommendations for the Hillegass book.

I haven't seen any books with a good coverage of Cocoa and the Java bridge, but you should be able to find plenty of material on-line.
     
Mac Elite
Join Date: Sep 2000
Location: New York
Status: Offline
Reply With Quote
May 18, 2002, 01:05 AM
 
Well I'm a bit worried about the Hillegass book. I had heard good things about it so I looked it up on amazon and it got some great reviews but it says that you need to have a good knowledge of object oriented programming. I really only have a general knowledge of oo programming. I guess I'll get it though. And maybe the Garfinkel and Mahoney book. Although I'm a bit wary of the two of them because their "History of Cocoa" thing that they had on the O'Reilly web site was full of historical innacuracies. I hope their programming books aren't the same way.
     
Dedicated MacNNer
Join Date: Oct 2000
Status: Offline
Reply With Quote
May 18, 2002, 01:48 AM
 
Possibly one of the best parts of the "Learning Cocoa" book is the introduction to Objective-C. That part of the book is from the Apple document, free on-line, "Object-Oriented Programming and the Objective-C Language".

Warning: the following link will start a 1.7M download.

Download from Apple site

I think "Building Cocoa Applications" provides a good introduction to Objective-C.

P.S. Apple just revised their document as of May 2002.

[ 05-18-2002: Message edited by: skipjack ]
     
Fresh-Faced Recruit
Join Date: Dec 2001
Location: NJ, USA
Status: Offline
Reply With Quote
May 18, 2002, 06:26 AM
 
Regarding book recommendations: That has turned into a heated debate at times! I started with "Learning Cocoa", which is seemingly not very well liked, but I think it did a good job on getting me going. I recently picked up the Hillegass book but haven't gotten too far with it yet. Like you I came from a non-oop background, and while "Learning Cocoa" is by no means meant to fully teach OOP it did a decent job getting me to understand the basics. If you're like me the biggest hurdle will be switching to a different way of thinking about software development, not learning ObjC or Cocoa! Good luck, and enjoy!

Steve W
Windows SysAdmin by day, OS X maniac by night...
     
Mac Elite
Join Date: Sep 2000
Location: New York
Status: Offline
Reply With Quote
May 18, 2002, 09:08 AM
 
I just built the currency converter application. I feel like I learned absolutely nothing from it. I don't understand the obj-c code at all. I was thinking that objective C would at least look a little bit like C, but that doesn't seem to be the case so far. Object oriented programming does not seem fun. I'm going to wait for my books to arrive before continuing with cocoa. I ordered them last night.
     
Fresh-Faced Recruit
Join Date: Jan 2001
Status: Offline
Reply With Quote
May 18, 2002, 09:31 AM
 
Originally posted by waffffffle:
<STRONG>I just built the currency converter application. I feel like I learned absolutely nothing from it. I don't understand the obj-c code at all. I was thinking that objective C would at least look a little bit like C, but that doesn't seem to be the case so far. Object oriented programming does not seem fun. I'm going to wait for my books to arrive before continuing with cocoa. I ordered them last night.</STRONG>
Read all of Apple's documentation on Objective-C first. All of it. It will introduce you to the language and OOP.

It's at /Developer/Documentation/Cocoa/ObjectiveC/index.html

Read it before anything else.
     
Fresh-Faced Recruit
Join Date: Aug 2001
Status: Offline
Reply With Quote
May 18, 2002, 06:16 PM
 
Originally posted by waffffffle:
<STRONG>I just built the currency converter application. I feel like I learned absolutely nothing from it. I don't understand the obj-c code at all. I was thinking that objective C would at least look a little bit like C, but that doesn't seem to be the case so far. Object oriented programming does not seem fun. I'm going to wait for my books to arrive before continuing with cocoa. I ordered them last night.</STRONG>
I am waiting for those two books from amazon.com too. Until they will be delivered here in Europe i have all the time to learn C a bit more.
C is pure fun, i have absolutely no experience into C++ and object oriented programming, but i hope Cocoa will be pure fun too
------------------------------------------
Gnu the world!!!
     
Fresh-Faced Recruit
Join Date: May 2002
Status: Offline
Reply With Quote
May 18, 2002, 09:50 PM
 
I highly agree with forty two: /Developer/Documentation/Cocoa/ObjectiveC/index.html

That will help you understand OOP. Remember to start out simple. If you didn't understand currency converter then just make a textfield and try and figure out how to set its value, get its value, enable/disable, etc.

Another good resource is cocoadevcentral.com tutorials-bare basics
I have yet to read any of those cocoa books and I'm learning.
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 03:01 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2