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

mimaro

macrumors newbie
Original poster
Jun 2, 2009
3
0
Portugal
Hi. I'm new to programing and now understand that to program for Iphone I'll ned knowledge on C language, Objective C, Cocoa and apple's SDK. Where in the UK, Brasil or USA can I take training for this. Is there any university that lectures on this? I'm staring by buying some books but would like to have someone's help and take classes.

Thanks,
 

Don't buy that one, it's the first edition. The second edition is the one you want, it's been out since December or so. The primary difference is that it's been updated for Objective-C 2.0, which is a more evolved beast, and what the iPhone requires.

I think Objective C is a language that came from C. Directed for objects. I have Iphone and a Mac. Just wanna know where I can learn to program, other than reading books, that I have already. Thanks.

Objective-C is the carnal union of C and Smalltalk. If you're new to both, then you definitely want to do a careful study of Kochan's Objective-C 2.0 book. Work through all the exercises.

I personally don't like the Kochan book. Kochan starts off by assuming that you know C, and then presumes to teach it to you, in the sense that certain things that are obviously pointers are not identified as such until much later in the program. Kochan's book on C proper, OTOH, is magnificent, and the best ever written. If you really wanted to understand what was going on, you would read that first, and then skip over the chapters on C in the Objective-C book. (I think he wrote the Objective-C book that way because the publisher was holding a gun to his head, or something like that.)

Doug
 
As an Amazon Associate, MacRumors earns a commission from qualifying purchases made through links in this post.
Learn to program first. Then learn to program in C. Then dive into Objective C and the SDK.

Unlike Smalltalk or Squeak, Obj-C on an iPhone is not a "safe" environment for beginners.
 
Learn to program first. Then learn to program in C. Then dive into Objective C and the SDK.

Unlike Smalltalk or Squeak, Obj-C on an iPhone is not a "safe" environment for beginners.

I agree with you there, but I have to ask, in all seriousness, before C there was _what_?

Doug

Just say, Let's not go back TOO far into the primordial ooze... Etc.
 
B and A. ;)

Seriously though, C wasn't the first programming language. Among many predecessors: Fortran, Cobol, Pascal, Basic, APL...

Also Lisp and Simula, which are reported to have influenced the design of Smalltalk. And BCPL (of which B was a stripped down implementation).

The history of computers is a fairly interesting subject...
 
Hi. I'm new to programing and now understand that to program for Iphone I'll ned knowledge on C language, Objective C, Cocoa and apple's SDK. Where in the UK, Brasil or USA can I take training for this. Is there any university that lectures on this? I'm staring by buying some books but would like to have someone's help and take classes.

Thanks,

I know this has already been answered, but currently Stanford(as an upper div, and if you are in the area i think it would be very difficult to sneak into that classroom as most people who dont even have any knowledge in programming want to make a iPhone app). is the only school that I know of teaching Iphone development classes, but the good thing is that they are accessible on itunes.
Tuaw has a series now dedicated to programming for the mac and iphone, I found article very helpful.
Starting with objective-c
I actually purchased these books, i haven't finished them but the best one so far was Programming in objective-C 2.0(has a chapter or two of iphone development in it as well[someone already put the link to the earlier edition of this book), one of the first few pages the other contradicts the believe that you need to know see to understand C to understanding/learn objective C.
Personally any popular modern OOP(object orientated programming) language should do fine. That the hardest part for beginning programmers, is understanding functions/methods and also how they relate to OOP. functions and methods are the building blocks of modern day programming, if you understand those and how to use them, then its just learning the syntax of the language, and a few other things that the language does itself. One thing that is really helpful is the junk filter OSX has built in. It helps will being memory efficient. the Iphone does not have that feature, so understanding memory management is very important(i believe someone already mentioned it). C does help understanding memory management a little better because it is more low level of the high-level programming languages. Low-level languages(if your not familiar with it) are closer to machine language(0's and 1's). Nothing can be as powerful as writing the 0's and 1's( they all have to be compiled into 0's and 1's and translation sometimes because a problem when it comes to efficiency) but it just would take you way to long to program with todays demands, it takes a lot of code just to add(2+2) compared to higher level where it would just be 2 +2 lol.
I know I said a lot, but I hope it helps
Good Luck, and dont give up.
(there will be days where you want to pull out your hair, especially if your learning it on your own).
 
Kochan starts off by assuming that you know C,,,

No, just the opposite, I start off by assuming you don't know C.

Kochan's book on C proper, OTOH, is magnificent, and the best ever written.

Thanks for that. :)

(I think he wrote the Objective-C book that way because the publisher was holding a gun to his head, or something like that.)

No, there was no weaponry involved in writing this book.

It was completely my idea to teach Objective-C without assuming prior knowledge of C. I still think that's right approach, as I've espoused elsewhere in this forum, on my own forum, and in the Intro to the book.

Cheers,

Steve Kochan
 
Thanks again to Steve Kochan, not only for a great book but also for taking the time to post here and give us the real scoop "straight from the horse's mouth".
 
No, just the opposite, I start off by assuming you don't know C.

It was completely my idea to teach Objective-C without assuming prior knowledge of C. I still think that's right approach, as I've espoused elsewhere in this forum, on my own forum, and in the Intro to the book.

Somebody can claim to work with objects, but if they don't _meaningfully_ _understand_ that when you declare an object variable in Objective-C it is actually a pointer, then they can't honestly say they know what they're doing. You kick into action with this going on, and introduce pointers halfway through the book. IF they had already read your C book, and IF you had then been able to neatly get this IMO serious pedagogical issue out of the way, a raft of misleading statements later on in the book could have been avoided. That's what I meant.

All of this is meant in the spirit of constructive criticism. A third edition could be spectacular.

I learned the subject from Brad Cox's book, sadly out of print.

Doug
 
We can agree to disagree on this topic, and so I'll just explain my thoughts on the matter one more time here.

You can teach someone how to work with C arrays before they learn how to work with pointers (as I do in my C text). The idea that an array is an organized collection of data is the concept to learn first. The relationship between an array and a pointer makes working with arrays much easier and efficient and aids in the understanding of how they are organized and accessed.

I think the same analogy applies to objects. Learning the principles and concepts of working with classes and objects is more important than understanding pointers, at least initially. Understanding the relationship between the two is necessary, but that can come later.

Cheers,

Steve Kochan
 
Alas, Obj-C does not allow prohibiting the misuse of bare pointers into memory, and sticks a whole bunch of them right in the programmer face at the very beginning. Without any access protection, and without some understanding of what those raw memory references can do, you've given a beginner some colorful bottles containing poison, labeled "do not open".

At least Basic hides most of those dangers.

And Pascal type and bound checked any pointer use for the novice.

And C (and ASM) explains the dangers (and usefulness so that that beginners actually read that chapter).

Maybe the first chapter of a book on Obj-C for beginners can start with assembly language? :)

Or if you want to teach pure OOP, the first chapters might want to be strictly on something more like Squeak.

Not Obj-C.

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