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

EmptyPockets

macrumors regular
Original poster
Jan 15, 2008
129
0
I have no knowledge of programming at all (Short of a pseudocode class taken in college) but I am a quick learner and dedicated to a project I want to start.

Would this book be a good way to get grounded in objective C? Is there a better one?

I plan on making some applications and have at least one game idea. I have a graphic designer friend and want to learn the programming.

the book: http://search.barnesandnoble.com/Programming-in-Objective-C/Stephen-G-Kochan/e/9780672325861/?itm=1

Anyone know of a better book? Should I focus on books covering objective C or going straight into the SDK?
 

SuperFreq

macrumors newbie
Oct 15, 2008
3
0
I am not familiar with that book but I do suggest getting "Cocoa Programming for Mac 3rd edition" by Aaron Hillegass. This book is easy to read and got me on track to writing apps.
 

wizard

macrumors 68040
May 29, 2003
3,854
571
You are starting with a thin back ground so....

I have no knowledge of programming at all (Short of a pseudocode class taken in college) but I am a quick learner and dedicated to a project I want to start.
From my perspective that is a thin back ground from which to start iPhone programming. Frankly I'd find a good book or books that cover the basics of computer science and "C" from the ground up. Then start in with the Hillegass book. The problem is if you don't have a minimal amount of knowledge about programming and C specifically it is going to male understanding the SDK difficult.
Would this book be a good way to get grounded in objective C? Is there a better one?
I've not seen that book so obviously can't comment. You need to focus on texts that cover both the basics of C & Objective C and texts that cover next step.
I plan on making some applications and have at least one game idea. I have a graphic designer friend and want to learn the programming.

Personally I'd suggest cooling ones heals and getting formal instruction in computer science at a university. That would be the easy way to proceed.

Learning DIY fashion isn't impossible either but I'm going to suggest that it may be harder than you expect. Realistically you should set aside 4 to 6 months to focus on learning computer science, programming and other basic concepts. Do this before trying to make any iPhone programs.
the book: http://search.barnesandnoble.com/Programming-in-Objective-C/Stephen-G-Kochan/e/9780672325861/?itm=1

Anyone know of a better book? Should I focus on books covering objective C or going straight into the SDK?

Well I guess I covered this already but I'd certainly would get to know C and Objective C first. The SDK is an API built on top of Objective C so you need to know that first.


Dave
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Personally I'd suggest cooling ones heals and getting formal instruction in computer science at a university. That would be the easy way to proceed.

Learning DIY fashion isn't impossible either but I'm going to suggest that it may be harder than you expect.

It depends. There are many people who, even after a few formal college courses in programming, give up because they can't grok it. Then there are other and more talented ones who, after skimming one book or a few magazine articles on programming, just started coding, and ended up writing some of the seminal games in personal computing history (when software was smaller, but the tools were far more primitive). The variation is enormous. One sometimes doesn't know until one tries.

YMMV.

.
 

spinyanteater

macrumors newbie
Oct 15, 2008
18
0
I have been in a similar situation to you and as a starting point I recommend the really excellent (and free) pdf from Cocoalab called 'Become an Xcoder':
http://www.cocoalab.com/?q=becomeanxcoder

I am now working through Kochan and find it a really good book and also the only book that I have found that teaches Objective-C without assuming knowledge of C or other language. Although the new edition isn't out yet, you can buy most of the book now as a pdf from RoughCuts:
http://safari.informit.com/9780321605559

When I finish Kochan I intend to work through Hillegass. I've already worked through several chapters but I wanted a firmer grasp of Objective-C before going on. There's a great line in the Hillegass book to encourage beginners who are finding it difficult: "This is hard, and you are not stupid". In other words, keep trying! This is now my mantra when I get stuck :).
 

wizard

macrumors 68040
May 29, 2003
3,854
571
Yep we all learn differently.

It depends. There are many people who, even after a few formal college courses in programming, give up because they can't grok it.
True i cant dismiss that. I pointed out a college course because I see advantages in the learning process. Mostly because you develop relationships with fellow class members. The other thing is that hopefully the program is done well enough that bad habits are supressed.
Then there are other and more talented ones who, after skimming one book or a few magazine articles on programming, just started coding, and ended up writing some of the seminal games in personal computing history (when software was smaller, but the tools were far more primitive).
Depends on what you are after. The game may have been a success but what about the code. Was it maitainable and well designed?
The variation is enormous. One sometimes doesn't know until one tries.

YMMV.

.

Well I can certainly agree with trying. There is nothing worst than people that never try. But along with trying it doesn't hurt to stack the odds in your favor.

Dave
 

cpatch

macrumors member
Sep 17, 2007
50
0
San Diego, CA
The game may have been a success but what about the code. Was it maitainable and well designed?
Who cares? Unless you're programming for someone else I'm all for the "code now and refactor later (if necessary)" approach. Creativity does better with minimal structure. YMMV.

Craig
 

JonnyThunder

macrumors member
Aug 16, 2008
67
0
yeah, I understand that viewpoint. But also, better written code now means less bugs and less support time later. It also means expansion and reusability of code.

At any rate, I started to learn knowing nothing about Mac, C or Obj-C. I started with books on C, then moved to Stephen Kochans book on Objective-C and am about to start Aaron Hillegass book on Cocoa / Obj-C.

Perhaps you could fasttrak by attending one of the Big Nerd Ranch courses on Objective-C. They claim no prior knowledge of C is required.
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Depends on what you are after. The game may have been a success but what about the code. Was it maitainable and well designed?

In business, the goal is success, but there are trade-offs with any strategy. There are lots of software projects which were massive failures due to poor design. But there are also many examples of someone getting to market first by just doing it, and ending up with an insurmountable market advantage over companies with far more elegantly engineered initial solutions that came to market later. I mean, have you ever looked at a disassembly of Gates and Allen's Altair Basic? Yikes!

.
 

dougdawson

macrumors member
Aug 24, 2008
62
0
Austin, TX
I have no knowledge of programming at all (Short of a pseudocode class taken in college) but I am a quick learner and dedicated to a project I want to start.

Would this book be a good way to get grounded in objective C? Is there a better one?

I plan on making some applications and have at least one game idea. I have a graphic designer friend and want to learn the programming.

the book: http://search.barnesandnoble.com/Programming-in-Objective-C/Stephen-G-Kochan/e/9780672325861/?itm=1

Anyone know of a better book? Should I focus on books covering objective C or going straight into the SDK?

I have some major issues with Kochan's current book on Objective-C. That said, his book on C is probably the best tutorial ever written for that language. You have to know that stuff. Buy and read the C book, work through it aggressively. Wait for the new edition of Kochan's ObjC book, maybe it will be decent.

Without a solid background in C, you will be lost at the first non-trivial turn.

Doug
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
I suggest learning a simpler and safer interpretive language first before jumping into a compiled language. Perhaps Python, Ruby or Javascript (for us old-timers, it was Basic), where you can get a useful learning app with only a dozen lines of code. Or with Dashcode, you can try your hand at small web apps for the iPhone. This may only take a few weeks. Then move on to the fundamentals of plain C, then Obj-C.

If nothing else, learning more than 1 programming language will help you better understand the underlying concept of developing and debugging algorithms, rather than just one language's details.

.
 

dougdawson

macrumors member
Aug 24, 2008
62
0
Austin, TX
I suggest learning a simpler and safer interpretive language first before jumping into a compiled language. Perhaps Python, Ruby or Javascript (for us old-timers, it was Basic), where you can get a useful learning app with only a dozen lines of code. Or with Dashcode, you can try your hand at small web apps for the iPhone. This may only take a few weeks. Then move on to the fundamentals of plain C, then Obj-C.

If nothing else, learning more than 1 programming language will help you better understand the underlying concept of developing and debugging algorithms, rather than just one language's details.

.
I respectfully disagree. There is no other god than C. C is the Sagarmatha of languages. All benefits flow from her fertile loins. Interpretive languages are a distraction from the voodoo that is an understanding of the dark corners of this bare-metal proto-language. In an earlier, more civilized time, we would talk to the machine directly. Now, with multiple platforms to support, C and gcc are the new common denominator. Know this. Nothing else matters, and don't waste your time pretending that it does.

Doug
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
In an earlier, more civilized time, we would talk to the machine directly.

In earlier, more primitive times, we would talk to the machine directly.

And the true masters of the darkest voodoo arts still do (very very selectively), for only they understand the detailed performance and size implications presented by the machine itself, which leave lesser coders attempts at porting high magic futile. Hidden in their box of the very strongest incantations are books by Knuth.

All others depend on whatever incantation scraps that the compiler optimization and OS driver and library wizards toss to them.

IIRC, most top university CS programs still require, or at least recommend, at least one course in hardware architecture and the performance implications implied (Hennessy & Patterson's textbooks, et.al.)

.
 

JonnyThunder

macrumors member
Aug 16, 2008
67
0
I respectfully disagree. There is no other god than C. C is the Sagarmatha of languages. All benefits flow from her fertile loins. Interpretive languages are a distraction from the voodoo that is an understanding of the dark corners of this bare-metal proto-language. In an earlier, more civilized time, we would talk to the machine directly. Now, with multiple platforms to support, C and gcc are the new common denominator. Know this. Nothing else matters, and don't waste your time pretending that it does.

Doug

Lol... I like this guy. He talks like I do (except with a more prehistoric slant)

:D:D:D
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.