★ TouchArcade needs your help. Click here to support us on Patreon.

iPhone Developing with No Prior Experience?

03-03-2011, 12:11 PM
#1
Joined: Feb 2011
Posts: 22
iPhone Developing with No Prior Experience?

I've been reading the "How You Started Developing" thread and it was cool hearing how so many people got started, but I didn't see many people who started learning how to program because of the iPhone, most people had some knowledge of programming prior to developing on the iPhone.

I have no programming experience whatsoever and I'm interested in learning how to develop programs on the iPhone. I checked out a sample book but I think I learn better through instruction. I googled a ton of training programs and it seems like the most viable one for me is this one offered at NJIT:
http://online.njit.edu/programs/trai...honeappdev.php

They say that you don't need any programming experience, though the learning will be a bit more difficult. Does anyone have any thoughts on this? Would you suggest me taking on this course or do you have suggestions for an alternative course I should do?
03-03-2011, 01:16 PM
#2
Joined: Feb 2011
Location: Isle of Wight, UK
Posts: 1,509
There's nothing really tough about specifically the iPhone that you need insider knowledge for. My suggestion would be to learn how to develop something simple on your mac or pc first, using open gl. There's a ton of books and websites to help with that.

By the time you know what you're doing, putting something onto iOS won't present too many extra challenges at all.

It can be a very rewarding hobby/career so I'd recommend just jumping in and having fun.

03-03-2011, 02:08 PM
#3
Joined: Mar 2009
Location: Oslo, Norway
Posts: 731
I must say that I somewhat disagree with Rubicon. While the actual programming is probably no harder to learn, the tools, the certificates, even something as simple as adding frameworks can all be a bit overwhelming to someone with no prior programming experience.

However if becoming an iOS developer is something you've really want to do there is something to be said about just getting started. I suggest starting of with something as basic as an OSX Command Line Tool. There's a template for this in XCode and you need to open the console window to see what's happening.

C is of course the grandfather for several of today's popular languages and I believe just learning some basic programming, like inputting name to a string, doing a few simple math operations. Moving onto a small text-based dice game is the kind of stuff that makes learning fairly easy, while staying fun.

I also suggest you pick up a really simple procedural-C book to begin with something like the Absolute Beginner's Guide to C or C For Dummies.

The good news is of course that you can use a lot of the basics you pick up here when you move onto Objective-C and iOS programming...
03-03-2011, 02:43 PM
#4
Joined: Feb 2011
Location: Isle of Wight, UK
Posts: 1,509
Well, I did tend to gloss over that stuff I'll admit.

But tbh I don't think there's any point worrying about it until he gets the skills to do some basic gameplay stuff first.

What I'm getting at is that the learning curve of for example porting a finished 2D pc game onto an iPhone is nowhere near as steep as starting with nothing and developing that game to completion on an easier platform.

Good point though to start with C. ++ for that. Er...
03-03-2011, 03:37 PM
#5
Joined: Apr 2009
Location: Portland, OR, Cascadia
Posts: 332
Alternatively, you could go for a boxed solution. Titanium uses Javascript. Corona uses Lua. These kinds of tools do simplify things, imo, and are worth checking out. It just depends if your goal is to get into dev as a career (then learn the C lanuages) or if you just want to make an app (then use a tool like I mentioned).
03-03-2011, 04:04 PM
#6
Joined: Oct 2009
Location: Bay Area
Posts: 136
Personally I wouldn't pay the 1k to take that course. The book they use for text is a good book, but it's sort of outdated. The book is based on SDK 3.# and next week 4.3 will be released. You would probably wouldn't come across many issues going through that book, but you can now pick up quite a efw other 4.# books that are better.

I also agree with you should learn the basics of programming in c or c++. If you want to take a look at what you might get yourself into going that way, check out cprogramming.com . That site has a good overview of most basic programming topics and practices.

I also think finding tutorials online is a good place to start. The site I learned from nolonger exists so I can't recommend any that are great but I'm sure google can find a few.

iPhone Game Developer and UI Engineer.
I will buy any games that support iCade, and I'll buy all in-app purchases if it has 2 player wifi/Bluetooth iCade support
Plus+:Gnarkiii
OpenFeint:GnarKiLL
03-03-2011, 04:27 PM
#7
Joined: Feb 2011
Posts: 22
Thanks for all the advice guys. I just ordered the Absolute Beginner's Guide to C off Amazon so hopefully that'll help a bit.

Xeno, I was unaware of those "box" tools you mentioned. Though I'm not familiar with Java or Lua, I sent it to one of my friends who has some experience with those.

I'm also looking into video tutorials. I just realized that I'm still a member of Lynda.com for another couple months, so I'll definitely check that out before deciding on dropping money on an actual training course.
03-03-2011, 05:16 PM
#8
Joined: Feb 2011
Posts: 22
Okay... I'm on Lynda and I'm still a bit lost. I'm looking up their courses under Developer, then Scripting Languages... and I don't see anything about C programming. Maybe they don't have it, but I figured they should.
They have the following:
ActionScript
AJAX
ASP.NET
ColdFusion
Dreamweaver
Flash
Flex
JavaScript
jQuery
MySQL
PHP
Prototype
Ruby on Rails
Windows Phone
XML

They have something about Visual Studio but it's PC based and I'm on a Mac. Sorry for being completely ignorant to all of this, but thanks for all of your help!
03-03-2011, 05:29 PM
#9
Joined: Feb 2011
Location: Isle of Wight, UK
Posts: 1,509
That's because C isn't a scripting language. "Scripting language" has taken on broader meanings over the years, but at heart they're meant to be something lightweight to solve lightweight problems, not bogging down the user with pointless stuff (for the task at hand) or even the need to compile them to standalone executables.

C is a full blown language and has all the overhead and detail that that entails. You can do anything with it you can think of, but because of that its also a lot heavier on the detail, which means it's a bit harder to learn from a cold start.

If you didn't have the iPhone specifically in mind, I'd probably recommend Flash to a beginner. (Or more specifically, Flex which you also listed. Flex is essentially the pure programming part of Flash which itself has wider uses).
03-03-2011, 05:36 PM
#10
Joined: Mar 2009
Location: Oslo, Norway
Posts: 731
I'll try to get you started.

If you haven't already installed the developer tools, do so.

Launch XCode. Choose Mac OSX/Application/Command Line Tool

Choose Run/Console in the menu.

Press the Build and Run button to compile and run the program. Watch the output of the included "Hello World" program in the console window. (Hello World is the standard first program for every language).

Now, click on the main.c icon in the XCode window to see what was needed for the magic to happen.

As you can perhaps already guess, it is possible for you to change the text being written in the console window to something else. Do so!

Ad a couple of other lines similar to the one you just changed.
Try removing the \n at the end of one of the printf-lines, see what happens.

---

Now, I don't know anything about the quality of this tutorial, but it seems about right for someone starting out fresh. Good luck and enjoy!