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

Vegeta-san

macrumors 6502
Original poster
Aug 4, 2006
432
0
I have never coded before a day in my life, but after seeing the keynote and all the things they were able to do and knowing that I can get good at anything I put time into, I want to try and code for iPhone. What are some good beginner documents that can help a complete newb out? I also need to start thinking about what kind of applications I want to make...:) Thanks guys.
 

rockstarjoe

macrumors 6502a
Jun 2, 2006
875
76
washington dc
I'm interested also, but my only coding experience was with BASIC waaaay back in the day. I have a good idea for a mac / iphone product but I have a feeling that learning objective-c might be too big of a project for me to take on. I might just be better off hiring someone to do it. Can anyone comment on the difficulty of learning to code from scratch like this?
 

jav6454

macrumors Core
Nov 14, 2007
22,303
6,257
1 Geostationary Tower Plaza
I have never coded before a day in my life, but after seeing the keynote and all the things they were able to do and knowing that I can get good at anything I put time into, I want to try and code for iPhone. What are some good beginner documents that can help a complete newb out? I also need to start thinking about what kind of applications I want to make...:) Thanks guys.

Learn the basics in another programming language like C++. Then learning the new code will be easy :)
 

sourcery

macrumors newbie
Feb 6, 2008
29
0
Learn the basics in another programming language like C++. Then learning the new code will be easy :)

C++ is the last language a new programmer should learn. Especially when the language actually needed is Objective-C. Smalltalk would be a better choice, unless one simply starts with Objective-C itself.

Here are some references:

Beginner Programming Tutorial: http://showmedo.com/videos/beginner_programming
Python: http://programming-crash-course.com/
Smalltalk: http://www.chronos-st.org/Smalltalk-Getting-the-Message.html
Objective-C: http://www.otierney.net/objective-c.html
 

jav6454

macrumors Core
Nov 14, 2007
22,303
6,257
1 Geostationary Tower Plaza
C++ is the last language a new programmer should learn. Especially when the language actually needed is Objective-C. Smalltalk would be a better choice, unless one simply starts with Objective-C itself.

Here are some references:

Beginner Programming Tutorial: http://showmedo.com/videos/beginner_programming
Python: http://programming-crash-course.com/
Smalltalk: http://www.chronos-st.org/Smalltalk-Getting-the-Message.html
Objective-C: http://www.otierney.net/objective-c.html

Well, I found it easy to learn C++, I learned it 2 semesters ago and I am still learning it. Well, long story short, I have found C++ a very easy programming language to learn and implement.
 

Vegeta-san

macrumors 6502
Original poster
Aug 4, 2006
432
0
C++ is the last language a new programmer should learn. Especially when the language actually needed is Objective-C. Smalltalk would be a better choice, unless one simply starts with Objective-C itself.

Here are some references:

Beginner Programming Tutorial: http://showmedo.com/videos/beginner_programming
Python: http://programming-crash-course.com/
Smalltalk: http://www.chronos-st.org/Smalltalk-Getting-the-Message.html
Objective-C: http://www.otierney.net/objective-c.html
Hey thanks for encouraging the discussion man....So even if I find a Cocoa beginners guide, you think I should start with 'Smalltalk" instead?
 

sourcery

macrumors newbie
Feb 6, 2008
29
0
Hey thanks for encouraging the discussion man....So even if I find a Cocoa beginners guide, you think I should start with 'Smalltalk" instead?

That depends. Smalltalk is the best way to learn object oriented programming--which is central to Cocoa and Objective-C. Objective-C is the most Smalltalk-like language other than Smalltalk itself. Some have plausibly argued that Objective-C is, in fact, just another Smalltalk variant.

But unlike other Smalltalks, Objective-C is also (and undeniably) some kind of C-like language. That dual nature adds complexity. On the other hand, Objective-C is the language you ultimately must learn.

I would start with Objective-C. If you find it too confusing, then get a basic understanding of both Smalltalk and C. Then, when you return to Objective-C, you should find learning it much easier [Note: Objective-C makes heavy use of both C-like and Smalltalk-like syntax, and uses both computational models.]
 

wizard

macrumors 68040
May 29, 2003
3,854
571
I have never coded before a day in my life, but after seeing the keynote and all the things they were able to do and knowing that I can get good at anything I put time into, I want to try and code for iPhone.
If you have not been exposed to programming at all do not assume that you can come to grips with it. The wash out rate for first year computer science students is pretty high. On the other hand don't let me stop you, all I'm trying to say is that it might take more time than you think to become good at it. It takes a long time to learn and develop the skills need to correctly structure a program. Laying down a line of code is relatively easy, it is the design effort that takes some effort.
What are some good beginner documents that can help a complete newb out? I also need to start thinking about what kind of applications I want to make...:) Thanks guys.
This opinion is a little different than what has been published here so far, but what I'm going to tell you is to do this: take a few night classes in computer science. It will do you a world of good to learn to do things the right way from the beginning. Learn on your own and you end up with difficult to understand and manage programs.

The alternative is a good book. I can't recommend an objective C book right now but feel free to look around.

Dave
 

mason.kramer

macrumors 6502
Apr 16, 2007
270
17
Watertown, MA
Watching a trained and experienced programmer writing code and then thinking "Yea, I could do that, all I need is a tutorial and an IDE" is kind of like watching a pro basketball player slam dunking and then thinking "Hey, that looks like fun! I guess I should go get a ball and a hoop."

I'm not saying don't try, all I'm saying is that you have to commit to a long road of practice and discipline before you will be any good at it.

Also, the lack of respect for the skill required is a little annoying. You'll understand once you get started.

Edit: and my pick for a first language is Ruby.
 

admanimal

macrumors 68040
Apr 22, 2005
3,531
2
Well, I found it easy to learn C++, I learned it 2 semesters ago and I am still learning it. Well, long story short, I have found C++ a very easy programming language to learn and implement.

If you think C++ is a very easy language to learn you are either brilliant or you don't really understand C++ as well as you think you do.
 

yeroen

macrumors 6502a
Mar 8, 2007
944
2
Cambridge, MA
Well, I found it easy to learn C++, I learned it 2 semesters ago and I am still learning it. Well, long story short, I have found C++ a very easy programming language to learn and implement.

As some philosopher (I don't remember which) famously said: "I do not know what I do not know"

The basic mechanics of the bare C++ language (minus all the C/C++ APIs) aren't too difficult and the learning curve is comparable in difficulty to any other OO imperative programming language. But the devil is in the details, and the language abounds in subtleties that has kept the literature on C++ "gotchas" outputting at a steady clip for 20+ years.

Moreover the language constructs provide for a huge design space (Template Meta-Programming is Turing Complete!.. anyone?) In C++, to a greater degree than any other language I've worked with, there are many different ways to express a solution to a given problem. The differences between can be very nuanced, and only become discernible through hard experience.
 

ChrisA

macrumors G5
Jan 5, 2006
12,541
1,653
Redondo Beach, California
Hey thanks for encouraging the discussion man....So even if I find a Cocoa beginners guide, you think I should start with 'Smalltalk" instead?

Yes. So many people think programming is all about learning the syntax specific to some programming language. It isn't. "programming" is all about learning to break a problem into parts and design interfaces between the parts and then break those parts into parts and so onand finally with the smallest parts to write a sequence of instructions, loops and conditional tests and data structures to build a part. You can learn this in Perl, C++, smalltalk or Java the only difference between them is small details of where you place commas and curly brackets. If you can write software in one language you can write in in another after a few days of study.

So learn programming first. Pick a language. An interpeted language is best because of the faster turn around. Smalltalk is not bad but if Objective C is what you want to learn in the end maybe pick one that is closers to Objective C. Maybe Python? Or just start with Objective C and put up with a longer learning curve. Whatever you pick, start small. Write some command line programs. You will need some intro level books. Web sites and forums lack depth. And do NOT fall for books that try to teach the syntax of some language. You need to learn the general concepts
 

Sbrocket

macrumors 65816
Jun 3, 2007
1,250
0
/dev/null
ChrisA speaks truth. Learning the syntax for a new language and APIs takes time, sure, but that's not what potential programmers (usually) get hung up on. Programming requires a methodical approach to a well-defined problem, a problem that you also define yourself. If you try to jump into a program haphazardly, you'll quickly become lost and not even know where to begin.

Oh, and don't bother with all the memory nastyness once you get to Obj-C and Cocoa...just use the built-in garbage collection. It'll save you a lot of trouble.
 

kainjow

Moderator emeritus
Jun 15, 2000
7,958
7
Oh, and don't bother with all the memory nastyness once you get to Obj-C and Cocoa...just use the built-in garbage collection. It'll save you a lot of trouble.

Not if you're going to want to develop for the iPhone.

Found here:

Note: iPhone OS does not support memory management using the garbage collection feature that is in Mac OS X v10.5 and later.
 

nokq

macrumors member
Aug 17, 2003
47
0
Watching a trained and experienced programmer writing code and then thinking "Yea, I could do that, all I need is a tutorial and an IDE" is kind of like watching a pro basketball player slam dunking and then thinking "Hey, that looks like fun! I guess I should go get a ball and a hoop."

I'm not saying don't try, all I'm saying is that you have to commit to a long road of practice and discipline before you will be any good at it.

Also, the lack of respect for the skill required is a little annoying. You'll understand once you get started.

Edit: and my pick for a first language is Ruby.

My email signature reads...

"A Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter." -Eric Raymond

In all honesty though, the original poster has a long road ahead of him.
 

krye

macrumors 68000
Aug 21, 2007
1,606
1
USA
You know what I can't stand? I can't stand these self-important, elitist software programmers that huff on their finger nails as if they walk on water. I work with a ton of them. This building is so full of software programmers that talk to people like their idiots because they aren’t part of the software group. It kills me. And half of them have the personality of a dead fish. Don’t get me started!

Anyway, do everyone a favor once you get into programming: Lose the all-so-common inflated ego problem. Anyone can code, anyone can become a programmer. It all depends on your ability to learn and your determination to do so. Good luck.
 

elcid

macrumors 6502
May 5, 2007
427
0
Geez. I have written in depth programs in Java and VB.Net and you guys are freaking me out about picking up Obj-C.

OO is OO, whether it is Java or C++. I found Java easier than C++ so I hope that Obj-C is better.
 

EnderTW

macrumors 6502a
Jun 30, 2007
724
277
Instead of taking a book on Cocoa, if you're entirely new or even if you are not. You should learn the language that it's built upon. For instance, people think buying the books about Ruby on Rails will get them started, but Ruby on Rails is a framework for the web just like Cocoa is to the mac. It's Ruby that you want to learn, the language for the RoR Framework. As is Objective-C is the language for the Cocoa framework.

Sure you'll be able to follow the video tutorials or books on Cocoa, but you won't really understand what is going on or how it works. You'll be limited to the solutions the book or the video provides, whereas if you learn the language, you can do whatever you want.

Learn Obj-c then look how Cocoa works. Cocoa isn't really a language, it's a way of programming.
 

yeroen

macrumors 6502a
Mar 8, 2007
944
2
Cambridge, MA
You know what I can't stand? I can't stand these self-important, elitist software programmers that huff on their finger nails as if they walk on water. I work with a ton of them. This building is so full of software programmers that talk to people like their idiots because they aren’t part of the software group. It kills me. And half of them have the personality of a dead fish. Don’t get me started!

Anyway, do everyone a favor once you get into programming: Lose the all-so-common inflated ego problem. Anyone can code, anyone can become a programmer. It all depends on your ability to learn and your determination to do so. Good luck.

Don't give him the wrong idea, now. Megalomania and the leeway to indulge in delusions of grandeur are perks of the job! :)

Unless of course you're referring to lumpen Ruby (on Rails) programmers; then you have a valid complaint.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.