Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

xiaoyu04

macrumors member
Original poster
Sep 24, 2006
69
0
Merced, CA
Hello:
I want to learn to program in C++ and objective C, and I have experience with java and some basic python scripting. My question is, is there any good books that are recommended for getting started? and what development environment would be recommended? I know macos x offers xcode, but how does that compare to other development environments?
 

Heath

macrumors regular
Aug 19, 2005
133
0
Canada
For C++ I usually recommend Bruce Eckel's book Thinking In C++ available here http://mindview.net/Books.
For Objective C, there are not a whole lot of books to choose from, just hit Amazon and scroll through the list there.

As far as environments, if you are planning to stick with programming on the Mac, you'd be silly not to use X-Code. It is quite full featured and holds its own against all the rest of the 'big' IDE's.
 

Quboid

macrumors 6502
Oct 16, 2006
441
0
everywhere
I am currently learning to prgram in C as part of my computer engineering course. From experience i can tell you that programming is not the language but the "LOGIC" and practice, so having programmed in java and python does not really make much of a difference. Syntaxes are easy to learn (trust me) which is what you will learn from your book, but the logic you have to teach yourself. As far as book are concerned, you can check out amazon, they would rate their products and they also have good product description (most of the time).
I "program" in c, and i use xcode, i prefer it over the borland environment in school (personal opinion). But if you dont like it (i didn't at first) just give it some time, you would learn to:) . I never really searched for anythnig else.

____________________
Ibook g4 14'

"my anger far outweighs my guilt"- Bruce wayne
 

Soulstorm

macrumors 68000
Feb 1, 2005
1,887
1
Well, if you program in C++, you're going to have a hard time learning all the libraries and how to use the standard template library properly. But, when you have learned all that, every other language you will try to learn will be piece of cake.
 

xiaoyu04

macrumors member
Original poster
Sep 24, 2006
69
0
Merced, CA
so, if i remember correctly objective C is similar or used in cocoa development? So I could potentially develop apps using objective C for a mac?
 

Soulstorm

macrumors 68000
Feb 1, 2005
1,887
1
so, if i remember correctly objective C is similar or used in cocoa development? So I could potentially develop apps using objective C for a mac?

Ιf you know C++, learning Obj C will only take 2 days from your life.
 

ATG

macrumors regular
Aug 7, 2005
187
0
Ιf you know C++, learning Obj C will only take 2 days from your life.
I disagree. You will still need to learn:
Messaging
Retain/Release Memory Management
Dynamic Typing
Unlearning C++ habits
How Cocoa Works

That last one is particually important. You can never learn every single class and method in Cocoa but learning how it works and the routine it follows is learnable and essential.
 

Soulstorm

macrumors 68000
Feb 1, 2005
1,887
1
I disagree. You will still need to learn:
Messaging
Retain/Release Memory Management
Dynamic Typing
Unlearning C++ habits
How Cocoa Works

That last one is particually important. You can never learn every single class and method in Cocoa but learning how it works and the routine it follows is learnable and essential.

Messaging and Dynamic typing are indeed something that is learn over time with a lot of practice, but the concept is easy to grasp. How Cocoa works is irrelevant to the Objective-C language, since Cocoa is an Api, and you don't need to use it to know Objective well.

Memory management is in those two days I mentioned. If you know C++ well, at a level to know about pointers, how they are used, and memory alllocated with the 'new' method, you only have to learn about the retain count and the release methods.

Note that I didn't say 'mastering the OBJ C will take 2 days from your life' I said 'learning' it. Becoming proficient in a programming language is something that takes a lot of time and practice, and same things happen with Obj - C.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.