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

cybrscot

macrumors 6502
Original poster
Dec 7, 2010
282
0
Somewhere in Southeast Asia
Okay, just getting started to get started.....anyway, does it matter whether I use a desktop or a laptop for writing applications and learning to do all this? I like the large screen of the desktop, but I like that I can take the laptop with me to work on my projects anywhere I want. I don't really know, is a big screen necessary? While learning and building apps, do I need to have multiple windows visible on the desktop to switch back and fourth between??

Also, I see all the recommended books, etc for learning how to write apps for the iphone/touch. so let me get this clear. As I understand it, I need to learn/use Cocoa and Objective C. (they are not the same thing right?) And that's it?? After this I can write apps?

I also read that it would be helpful to learn C also, (to better understand Objective C) So, do I need to know and learn all 3? I have no programming experience. I think some might say I only need to learn objective c and cocoa, but to understand Objective C I should also learn C.

What exactly do I NEED to learn to write apps?

Thanks!! Any help would be cool.
 
Okay, just getting started to get started.....anyway, does it matter whether I use a desktop or a laptop for writing applications and learning to do all this? I like the large screen of the desktop, but I like that I can take the laptop with me to work on my projects anywhere I want. I don't really know, is a big screen necessary? While learning and building apps, do I need to have multiple windows visible on the desktop to switch back and fourth between??

Also, I see all the recommended books, etc for learning how to write apps for the iphone/touch. so let me get this clear. As I understand it, I need to learn/use Cocoa and Objective C. (they are not the same thing right?) And that's it?? After this I can write apps?

I also read that it would be helpful to learn C also, (to better understand Objective C) So, do I need to know and learn all 3? I have no programming experience. I think some might say I only need to learn objective c and cocoa, but to understand Objective C I should also learn C.

What exactly do I NEED to learn to write apps?

Thanks!! Any help would be cool.

1) Desktop vs. Laptop is entirely up to you based on personal preference. It doesn't matter which one you choose. That being said, I use two monitors and it's sometimes nice to see both your code on one side, and documentation on the other.

2) Cocoa is the collection of frameworks which Apple has written that allow you to interact programmatically with features provided by Mac OS X and iOS. Objective C (or C if you choose) is the programming language that you use during that interaction.


Learning the fundamentals of C is recommended so that you understand how programming languages work. Objective C is based on C, so understanding C principles will help you become a better programmer. I really think where you go from here depends greatly on what your goals are. I feel like it's fairly simple for a lot of people with no programming knowledge to piece together some tutorials into a simple application. You'll run into problems on this route though, without learning about C and Object Oriented Programming, and you may not know how to fix them. If that's all you want to do though, then just dive on in to some tutorials. But if you really want to understand what's going on and become an app developer, then you should learn the basics of C, learn the principles of Object Oriented Programming, and then start to learn about Cocoa.
 
Thanks a lot. I "app"reciate the feedback!
I'll give C a try. I will order the book . It looks like it's about 600 pages, it's taken me a long time just to read an 800 page biography, without actually having to learn something. It seems daunting to "learn" C from a 600 page book, like it might take 2 years. But we'll give it a go. It may be a worthwhile skill set to have, regardless of what I'm doing for work at any given time, this can always be a backstop.
 
1) You will not be a good app developer if you only want to learn what you absolutely "need". The closely related stuff you don't "need" will allow you to make better apps faster and with less headaches (from beating your head for days by not understanding why something you did just doesn't work).

2) When sitting at a desk, a large monitor (or two!) is extremely nice and helps a lot with productivity when using Xcode/Simulator/documentation/etc... however, not everybody wants to sit at the same desk all the time while coding. As an option, current MacBook models are perfectly capable of driving at least one large monitor, so a laptop plus a large monitor might be a good combination.
 
I'm new as well and am interested in designing games specifically. Are there main differences between the development of games and task oriented apps?

What's a good path to follow if I'm interested in developing games.
 
I'm new as well and am interested in designing games specifically. Are there main differences between the development of games and task oriented apps?

What's a good path to follow if I'm interested in developing games.

Developing a game can be much more difficult especially if it involves things like 3D, physics, AI and multiplayer. I wouldn't recommend jumping right into that but there are books that will give you a starting point for iOS game development.

"Task oriented" apps are much simpler because the views are much more often just UITabBarController, UINavigationController, etc.
 
How hard are the physics, graphic elements of doodle jump? Im lookIng to do things alot this nature rather than developing 3d games. More of the doodley minute to win it style games.
 
How hard are the physics, graphic elements of doodle jump? Im lookIng to do things alot this nature rather than developing 3d games. More of the doodley minute to win it style games.

Even "doodly" games require sound effects, smooth animation, responsive controls, visual appeal, and great gameplay.

Maybe more fun to attempt to do, but much harder to design and code than a typical task oriented app. Both of which are harder to do than simply learning to program well.
 
If you are using a 600 page book to learn C, you have the wrong book.

I disagree. I may be a fledgling myself, but I am discovering what is useful and necessary and what isn't.

The best book I have seen for learning C is over 700 pages :
C Programming: A Modern Approach 2nd Edition by K.N. King

It is easy to read, the examples and explanations are clear, and it assumes nothing about the reader. I have read 2 other books on C and I had to stop at some point because I could not understand what they were discussing - both books when they got to explaining pointers. Pointers are essential to understanding Objective C.

I jumped into Objective C with a book and tutorials, and had to stop because I could not understand the syntax and logic of the use of pointer variables.
So I went back to the K.N. King book and read up on pointers and structs.
It all became clear after that.

Simply mimicking a bunch of tutorials will not get you very far in learning to program properly.

I think you can learn the essential basics of C in less than a year if you sit down and study it consistently every day. I started my journey from the beginning of March this year (2010) and have already created a functioning slot machine game from scratch. Its not Doom3, but its still a functioning app, and more than I could do 9 months ago.

As for the other question about hardware platforms...
I once saw a guy writing an iPhone app at jury duty using a Macbook Air.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.