PDA

View Full Version : Creating A Program




cbeconner
Apr 11, 2011, 01:03 PM
Hello everyone. I am 14 years old and very interested in programming. I know that this question has been asked to death, but I cannot seem to find the right answer anywhere. I am hesitant to say that I have any experience programming. There is a great PDF out there called Programming in X-Code or something like that, and I have been using it for a while. I have learned some basic things in Objective-C, but once I hit GUIs, it was all too confusing. While the text is wonderful, I believe that it may be outdated, and X-Code has been modified. While X-Code looks all right, the Interface Builder seems all too confusing. I was wondering if a further-than-absolute-basic knowledge of Objective-C is required to survive in the big scary world of the Interface Builder. Whenever I try to expand on that knowledge, there is the problem that every text always assumes you have experience in another object oriented language. When I was first wishing to program, I did some research as to which language I should learn first. Most of the time people said Python or Java, but Objective-C makes perfect sense to me. I only need to find a place where I can become knowledgeable in the subject. My computer runs Snow Leopard, and I am using the version of X-Code that came with it. If anyone has any suggestions on how I can learn more of the language, that would be great. Thank you all in advance for you're help.:apple:



balamw
Apr 11, 2011, 01:11 PM
Programming in Objective-C 2.0 (http://www.amazon.com/Programming-Objective-C-2-0-Stephen-Kochan/dp/0321566157) doesn't require any previous experience with any programming language and that edition is designed to work well with Xcode 3.2.x. This will give you more experience in Objective-C 2.0.

Another book I recommend is Cocoa and Objective-C: Up and Running (http://oreilly.com/catalog/9780596804817). It shows you more about the GUI stuff and even how some apps can be put together entirely in Interface Builder with no Objective-C code. It's a bit loosy-goosy though so don't use it alone.

Once you feel more comfortable, move on to Hillegass: Cocoa® Programming for Mac® OS X (http://bignerdranch.com/book/cocoa®_programming_for_mac®_os_x_3rd_edition) which is great, but IMHO does require some foundation outside the book.

B

mydogisbox
Apr 11, 2011, 01:12 PM
http://forums.macrumors.com/showthread.php?t=1074289&highlight=

cyberscott has all the answers you need. Try looking through all this posts and if you still have questions come back.

Blakeasd
Apr 11, 2011, 04:19 PM
I have read Cocoa Up and Running and it is a great book!

ChrisA
Apr 11, 2011, 05:14 PM
... I have learned some basic things in Objective-C, but once I hit GUIs, it was all too confusing. While the text is wonderful, I believe that it may be outdated, and X-Code has been modified. While X-Code looks all right, the Interface Builder seems all too confusing....


I wonder if you are not trying to go to fast. What kind of command line program have you written? A classic assignment for beginners is a command line program to simulated a vending machine. It read "actions" like "press button#3" and prints lines for items sold or change or to light up an LED display and it manages inventory. It is actually a very simple command interpreter.

That is about the level you need to be at before you write GUI stuff.

Really, most of the software written in industry does not run on a desktop and does not have a GUI. I've need working in Rocket telemetry, OS device drivers, Radar, secure messaging systems for many years and rarely write anything that needs a GUI.

You need to master fully object oriented programs at a low to medium level of complexity first. Maybe a simple simulation as above or some kind of server that talkis to multiple clients.

Not saying don't do it just don't rush.

cbeconner
Apr 13, 2011, 12:11 PM
Thank you all for your help. I'll have to check out those books, but for the first one you recommended, you mentioned that it was a better supplement book than anything else. Do you know of anything that I could use it with? Is the other book a good supplement, or is it specifically GUI based. Thank you Chris, for your input. I think that you're probably right. I assume that you're talking about a text-based vending machine simulator... Thanks again.

balamw
Apr 13, 2011, 12:36 PM
Thank you all for your help. I'll have to check out those books, but for the first one you recommended, you mentioned that it was a better supplement book than anything else. Do you know of anything that I could use it with? Is the other book a good supplement, or is it specifically GUI based. Thank you Chris, for your input. I think that you're probably right. I assume that you're talking about a text-based vending machine simulator... Thanks again.

cbeconner: Get used to being specific. It'll help us help you. Refer to the books by author or title so we can be sure we're all on the same page.

Kochan's "Programming in Objective-C 2.0" (the first book I mentioned) is absolutely fine to use on its own. It specifically does what ChrisA suggests and deals with strictly text based interfaces until the last few chapters of the book. Many love the book, but it moves to slowly for others, which is why I also suggested Stevenson (below) which is a faster pace, but leaves a bunch of stuff out. If you can work your way through Kochan, you will definitely be ready to tackle GUI programs with one of the other two books.

Hillegass' "Cocoa® Programming for Mac® OS X" is similar, except that it does assume and require some basic programming proficiency and doesn't introduce the basics as well as Kochan (IMHO). Which is why I don't suggest starting there for someone in your situation. It introduces the GUI earlier than Kochan.

Stevenson's "Cocoa and Objective-C: Up and Running" is more of a whirlwind tour. It gets you building GUI apps early on and focuses on that, but doesn't really give you the deeper insights that Kochan and Hillegass do. So if you choose to start there you would need to supplement with material from either Kochan or Hillegass.

B