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

Viantef

macrumors member
Original poster
Jun 20, 2013
67
0
Hi, I'm 16. I got an idea for a application. I can't afford a developer so I decided to learn how to build iPhone Applications.

The app I'd like to build would use Instagram's API and would be dynamic. Essentially, the user would sign in using their Instagram Username & Password and the profile would be added to a list that is randomly added to a feed, where the end user could scroll through random user's profiles and follow them.

Could anyone explain the level of complexity behind my app, would it be fairly simple? Quite difficult?

I do know that my code would have some pretty sick algorithms in terms of randomizing information that was retrieved from Instagram's database and then sending data back (A user follows someone).

Should I learn C first, or dive straight into Obj-C with one of the Kochan's books?

Thanks, any help and advice is appreciated.

* I ordered my 2013 Air, it should be here soon. (Just to inform you that I will have OSX)

God bless
 
Hi, I'm 16. I got an idea for a application. I can't afford a developer so I decided to learn how to build iPhone Applications.

The app I'd like to build would use Instagram's API and would be dynamic. Essentially, the user would sign in using their Instagram Username & Password and the profile would be added to a list that is randomly added to a feed, where the end user could scroll through random user's profiles and follow them.

Could anyone explain the level of complexity behind my app, would it be fairly simple? Quite difficult?

I do know that my code would have some pretty sick algorithms in terms of randomizing information that was retrieved from Instagram's database and then sending data back (A user follows someone).

Should I learn C first, or dive straight into Obj-C with one of the Kochan's books?

Thanks, any help and advice is appreciated.

* I ordered my 2013 Air, it should be here soon. (Just to inform you that I will have OSX)

God bless


If you've never programmed before then the Arron Hillegass Objective C book might be a good choice:


Objective-C Programming: The Big Nerd Ranch Guide

The first several chapters start out teaching you the basics of C, then transition to Objective C.

Objective C is a pure superset of C, so by learning all about Objective C, you learn C at the same time.

However, many programmers who only write iOS code using Cocoa Touch never learn how to handle C arrays, structs, pointers, and other things that you really need to know in order to fully understand the language and be able to tackle all the issues that come up.

The Hillegass book assumes you don't know programming at all, and teaches you the basic concepts (flow control, data types, functions and methods, etc) as it goes along.

Once you've read that cover-to-cover, you'd be ready for an iOS development book.

As for complexity, a release-quality application that uses a third party API, pushes feeds, etc is pretty advanced stuff.

I would suggest setting yourself a number of smaller tasks leading up to it. You've got a lot of learning to do, and it will quickly seem overwhelming if you try to achieve your end goal right away. Kind of like trying to learn to fly a 747 as your first plane. Start out with hang gliders, move up to Piper Cubs, then twin engine prop planes with retractable gear, then a small jet, etc, until you're ready to tackle the big goal.

You've probably got 6 months to a year of hard work ahead of you before you are ready to tackle your end goal.
 
As an Amazon Associate, MacRumors earns a commission from qualifying purchases made through links in this post.
Learn C first, for the reasons Duncan mentioned about completeness.

I suggest Learn C the Hard Way, a free Ebook (Google for it.) The first 30-40 chapters are good but the last few seem kind of... IDK, silly.
 
I really appreciate that Duncan!

That was extremely informative, I consider myself to be fairly fast learner, so do you think 6 months is the definite minimum?

I'd also like to get into Web Development, can I build applications with C, hence I'll already have knowledge and experience with C?

I know things take time, but I'd like to have my first iOS App and Web App built before my 17th birthday, for startup traction purposes.

Thanks Again, I'm going to go order the book from Amazon right now!
 
That was extremely informative, I consider myself to be fairly fast learner, so do you think 6 months is the definite minimum?

Learning a programming language takes a few hours. Learning to think like a programmer may come quickly or never come at all. What takes a long time is learning frameworks and libraries.

I'd also like to get into Web Development, can I build applications with C, hence I'll already have knowledge and experience with C?

Those were all English words, but I don't think you've put them together into a legal English sentence – I can't tell what you're trying to ask, here.

I know things take time, but I'd like to have my first iOS App and Web App built before my 17th birthday, for startup traction purposes.

Thanks Again, I'm going to go order the book from Amazon right now!

Sounds great, although I don't think you've mentioned when your 17th birthday is so we can't say if that's realistic or not. You might need some kind of special parental forum filled out for you to sign all of the agreements with Apple before you can distribute an iOS app on their app store - I can't remember what age you need to be to legally sign that stuff.
 
I'm sorry for those grammar mistakes.

Since I will be learning the basic fundamentals of C for iOS Development, is it safe to say I can transfer that knowledge of C into building web applications?

I know a scripting language (Python,Ruby, PHP) would be significantly better than C for web development, however if I already have the basic fundamentals of C, I figured that I could continue to use that language for web development contrary to learning a scripting language.

I turn 17 on April 25th, 2014.
 
Neither.

Neither.

Neither C nor Objective C were designed as educational or teaching languages. Try an easy language first, and move on after you figure out how to solve problems in code and get your programs working.

Note that a significant percentage of people with no programming experience give up after finding learning to program way too hard. So make the path easier on yourself so that you can be one of the ones who succeeds. The additional advantage is that you will be multi-lingual (at coding).
 
Neither.

Neither C nor Objective C were designed as educational or teaching languages. Try an easy language first, and move on after you figure out how to solve problems in code and get your programs working.

Note that a significant percentage of people with no programming experience give up after finding learning to program way too hard. So make the path easier on yourself so that you can be one of the ones who succeeds. The additional advantage is that you will be multi-lingual (at coding).

Ok, what language you reckon I start with?
 
Ok, what language you reckon I start with?

Most computer science programs start students out in Java, C#, or C++ as first languages.

Java seems to be the most dominant answer. Not only is it most people's first language it also teaches you to program in the object oriented mind set.
 
Most computer science programs start students out in Java, C#, or C++ as first languages.

Java seems to be the most dominant answer. Not only is it most people's first language it also teaches you to program in the object oriented mind set.

So if most Computer science programs start with an Object-Oriented Language then why not start with objective-c?
Are the others taught because they are more common and used on more platforms, or is it because they are easier to understand?

To me they seem like they graft Objects in to C syntax so they are easier for people who are more "procedural" in their logic style to cross over. Where Obj-C seems like it was designed by someone for "crafty" in logic style (for want of a better word). So like the difference between Engineers and designers.

To me if you have a goal in mind then learn what you need to archive to result. So if it's a general iOS app then Objective-C,then both CocoaTouch and more pure C as you need to get better results. It's not you'll ever run out of stuff to learn, so once you start you're the only person who'll stop you.

If it's a game or the like then find the game engine best suited and learn the language of that engine which could be Java or C#. Either way you'll find you'll need more pure C, so if you're a procedural thinker then start there.

I'd say best plan is to think a little bit about how you tackle a problem, that problem you want to tackle with your app, then read a bit about each language and style (even just wiki pages) then start learning the one that gels best with your style and will get you to a result.
 
So if most Computer science programs start with an Object-Oriented Language then why not start with objective-c?
Are the others taught because they are more common and used on more platforms, or is it because they are easier to understand?

To me they seem like they graft Objects in to C syntax so they are easier for people who are more "procedural" in their logic style to cross over. Where Obj-C seems like it was designed by someone for "crafty" in logic style (for want of a better word). So like the difference between Engineers and designers.

To me if you have a goal in mind then learn what you need to archive to result. So if it's a general iOS app then Objective-C,then both CocoaTouch and more pure C as you need to get better results. It's not you'll ever run out of stuff to learn, so once you start you're the only person who'll stop you.

If it's a game or the like then find the game engine best suited and learn the language of that engine which could be Java or C#. Either way you'll find you'll need more pure C, so if you're a procedural thinker then start there.

I'd say best plan is to think a little bit about how you tackle a problem, that problem you want to tackle with your app, then read a bit about each language and style (even just wiki pages) then start learning the one that gels best with your style and will get you to a result.


It's mainly because Java is cross platform where as Objective-C is Mac only. In order to allow all students to work individually outside of the classroom they try to avoid dependencies such as requiring a Mac. In the cases of C# everyone has a PC or the people that do use Macs they can bootcamp to have Windows.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.