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

WhiteIphone5

macrumors 65816
Original poster
May 27, 2011
1,182
2
Lima, Peru
I have Zero programming/coding experience, no HTML, php, or java. I've been reading a few programming forums and it seems most programmers started at the age of 8+ years old. I came to US from Peru when I was 13, and have not been interested in technology until two years ago when I received my first iPhone. At the beginning of the year, I started to look into programming for iOS, but I know I need a background of programming before I start with Objective-C. But how do I start? I'm 20 years old and feel like its too late as there is tons of programming languages. I know It takes passion and love for programming, which I'm very interested in doing. Not for the money, but for the experience. In next year I will start taking programming college courses, but I want to have some background before I start. So another question would be, how do I start? What programming language do you recommend? Not only do I plan to create iOS apps, but websites as well. Thank you so much, and again I have no experience at all.
 

MegamanX

macrumors regular
May 13, 2013
221
0
Short answer is no you are not.

Also programming languages are nothing more than syntax to me. I professionally develop right now I know and program in I want to say 4-5 different languages and of those 2 of them are professionally. in the next year I am looking to extend that to all of them. Picking up another programming language is pretty easy. To give you an idea I pick up and start producing pretty decent work in object c in 2-3 weeks. When I started in it I had never used the Xcode before or written a line of code in object c.

I had been out of school for about 6 months with my CS degree and been programming in yet another langage that I had never used before I started working. Also I did have a fair amount of java and android dev under my belt from school.

As for age, 20 is still really young. Programming is more about how to think and design. It is not so much being a code monkey. On your own you can get fairly far. Now in the past year my skills as a developer have progress more and more rapidly due to it being professionally and it is very different than school but I still pull on that skill set.

Starting langage Java is fine to start in. I would not recommend object C to start in because to work in object C you need to really under stand object orientated programming first and that is something that most people seem to struggle with until one day they just get it. There is no real in-between. It will just be one day the switch is click and boom it all makes sense.
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,558
6,058
Thanks everyone for the comments, but someone has yet to tell me where I should start XD

Google "Learn C the Hard Way". It's a free eBook. I suggest reading from it and doing the exercises contained.

If you aren't learning from that style of writing, I'm sure other people have "easier" books to learn from, but I think the hard way is the right way.
 

ChrisA

macrumors G5
Jan 5, 2006
12,560
1,671
Redondo Beach, California
...But how do I start? I'm 20 years old and feel like its too late as there is tons of programming languages.....


To old at 20? This is a joke right?

First off like all beginner you confuse learning to write programs with learning some specific programming language. Well of course you need to learn some specific language but THAT is just the first step. Kind of like learning to spell is the first step to becoming a novelist.

Just pick something. Java is not a bad choose. and write some SIMPLE program. Likely it will be a command line program to do something trivial like type back what you enter but backwards.

Another areas of programming you make start with is to buy an Arduino (about $30) and make it blink some LEDs and then control some motors and sensors.

Just write some software to do some really simple things like a command line program to compute postage. The language does not matter at all.

Later after you can write programs in some language, learning a second or fourth language takes just weeks. I started in Fortran and cobol then they invented C and I got into that then C++ came along and Ada and Perl and Java. They are all more alike than different

The bigger thing to learn is the environment. If you write for IOS dec=vices you need to know a lot about IOS. If you are writing firmware for a digital camera you need to know the how the camera works and so on. People tand to specialize on "platforms" not so much on languages

So to get started follow this rule
(1) just DO Something,
(2) repeat #1 as requited.
The exact details matter about 100x less then just doing the above.
 

MegamanX

macrumors regular
May 13, 2013
221
0
Thanks everyone for the comments, but someone has yet to tell me where I should start XD

I say Java is generally a good place to start. Chances are where you take school will do something.

I will strongly recommend against starting in Object-C right off the bat.
 

WhiteIphone5

macrumors 65816
Original poster
May 27, 2011
1,182
2
Lima, Peru
I have been telling myself that there are steps before picking a language for example. I thought before JAVA you need HTML, and before objective c to do C++. I'm confused, doesnt the advance languages need prior experience? I can't just start straight with objective c right? I need experience before learning it. Idk why some of you tell me to "just pick a language" I don't get it. Thanks everyone I'm a noob at this.
 

saltyzoo

macrumors 65816
Oct 4, 2007
1,065
0
I have been telling myself that there are steps before picking a language for example. I thought before JAVA you need HTML, and before objective c to do C++. I'm confused, doesnt the advance languages need prior experience? I can't just start straight with objective c right? I need experience before learning it. Idk why some of you tell me to "just pick a language" I don't get it. Thanks everyone I'm a noob at this.

There are no prerequisites. HTML is in a completely different realm than java or C / Objective C.

You'll find it easier to understand the concepts starting with Java or php, but there is no reason you can't start with Objective C if that's your only interest. It will be a little more difficult, but it's certainly possible.

Personally, my progression was Basic -> pascal -> C -> COBOL -> C++ -> Java -> Objective C.

SQL HTML and a dozen others also along the way.

Pick one, learn it well and understand the concepts and you can literally do any of the others with minimal effort. After several decades and a lot of self learning, I can be productive in a new language in a day, and proficient at it in a couple of weeks.

Good luck!
 

WhiteIphone5

macrumors 65816
Original poster
May 27, 2011
1,182
2
Lima, Peru
There are no prerequisites. HTML is in a completely different realm than java or C / Objective C.

You'll find it easier to understand the concepts starting with Java or php, but there is no reason you can't start with Objective C if that's your only interest. It will be a little more difficult, but it's certainly possible.

Personally, my progression was Basic -> pascal -> C -> COBOL -> C++ -> Java -> Objective C.

SQL HTML and a dozen others also along the way.

Pick one, learn it well and understand the concepts and you can literally do any of the others with minimal effort. After several decades and a lot of self learning, I can be productive in a new language in a day, and proficient at it in a couple of weeks.

Good luck!

Thanks! I think I'll go with java>c++> objective c
 

lee1210

macrumors 68040
Jan 10, 2005
3,182
3
Dallas, TX
Thanks! I think I'll go with java>c++> objective c

This is fine, but there's no real reason for this progression. Java will not specifically prepare you for C++, and C++ will not prepare you for Objective-C. Learning any language will help you be ready to learn another, but it's not like Java is more basic than C++ or Objective-C.

People say pick a language because whatever you pick is only where you start. You're not stuck with the decision, and it is unlikely that it will be the last one you learn. It's better to start anywhere than kill time debating which one is "right".

There are not prerequisites. Just start.

-Lee
 

MegamanX

macrumors regular
May 13, 2013
221
0
I have been telling myself that there are steps before picking a language for example. I thought before JAVA you need HTML, and before objective c to do C++. I'm confused, doesnt the advance languages need prior experience? I can't just start straight with objective c right? I need experience before learning it. Idk why some of you tell me to "just pick a language" I don't get it. Thanks everyone I'm a noob at this.


You are confusing Javascript with Java. The only thing those 2 really share in common is the name java. Hell Javascript is called javascript because at the time Java was the new hot thing so it was trying to ride on its coat tails with the name.

Java has a lot more in common with C than Javascript. Hell Java is C based.

The reason why I do not recommend you start right in with Object C is because object C is VERY VERY object oriented. Something that takes some time for it to click and how to program that way. Plus it does have a weird syntax and set up that just does not follow the others.
This is fine, but there's no real reason for this progression. Java will not specifically prepare you for C++, and C++ will not prepare you for Objective-C. Learning any language will help you be ready to learn another, but it's not like Java is more basic than C++ or Objective-C.

People say pick a language because whatever you pick is only where you start. You're not stuck with the decision, and it is unlikely that it will be the last one you learn. It's better to start anywhere than kill time debating which one is "right".

There are not prerequisites. Just start.

-Lee

THat is more or less true. Honestly once you learn 1 langage it pretty easy to pick up another.

For me my progression went Pascal> VB.net> Java> C#>VDF> Object-C

Right now I program in VDF and Object-C and looking forward a few months I will be doing .net and Java with those 2 at the same time. Just the nature of my work.

I pick up object C with in a matter of weeks. It is just learning how to program is what it takes.

Just start with a hello world and keep going.
 

WhiteIphone5

macrumors 65816
Original poster
May 27, 2011
1,182
2
Lima, Peru
I'm very interested in objective c and php. But since there are no pre-requisites, I guess il just start off there? Any books?
Like I said I have no experience what so ever.

----------

Also is there a language before c++ like "C" ? Should I do C before objective c?
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,558
6,058
I'm very interested in objective c and php. But since there are no pre-requisites, I guess il just start off there? Any books?
Like I said I have no experience what so ever.

----------

Also is there a language before c++ like "C" ? Should I do C before objective c?

An approach that's generally more successful than picking arbitrary languages is to pick something you want to make. We'll then suggest which language is best suited for that.

Contrarily to all the BS people are saying about all languages being equally valid starting points, I'm going to say they're all wrong.

C is the language you want to learn first. Nearly every other language that is used today is derived from C. Objective-C is a perfect superset of C, that is, all valid C code is also valid Objective-C code. C++ is mostly a superset of C, meaning that most valid C code is also valid C++ code. Java is heavily based on C++, and so is in turn based heavily on C.

If you learn C first, you'll be at a great spot for diving into pretty much any other language.

Java is an okay first language, but I feel like it shields you too much from seeing how the computer works, so going from Java to other languages would be more disorienting than going from other languages to Java.

Like I said in my prior post, use the free ebook Learn C The Hard Way (google it). If you find it's not working for you, other people here can suggest other books (although as LCTHW discusses in its intro, the hard way is the right way. I agree 100% with dispelling notions that the computer is magical or you need your hand held right off the bat.)
 

WhiteIphone5

macrumors 65816
Original poster
May 27, 2011
1,182
2
Lima, Peru
An approach that's generally more successful than picking arbitrary languages is to pick something you want to make. We'll then suggest which language is best suited for that.

Contrarily to all the BS people are saying about all languages being equally valid starting points, I'm going to say they're all wrong.

C is the language you want to learn first. Nearly every other language that is used today is derived from C. Objective-C is a perfect superset of C, that is, all valid C code is also valid Objective-C code. C++ is mostly a superset of C, meaning that most valid C code is also valid C++ code. Java is heavily based on C++, and so is in turn based heavily on C.

If you learn C first, you'll be at a great spot for diving into pretty much any other language.

Java is an okay first language, but I feel like it shields you too much from seeing how the computer works, so going from Java to other languages would be more disorienting than going from other languages to Java.

Like I said in my prior post, use the free ebook Learn C The Hard Way (google it). If you find it's not working for you, other people here can suggest other books (although as LCTHW discusses in its intro, the hard way is the right way. I agree 100% with dispelling notions that the computer is magical or you need your hand held right off the bat.)

http://c.learncodethehardway.org/book/ ???

It says "This book is intended for programmers who have learned at least one other programming language. I refer you to Learn Python The Hard Way if you haven't learned a programming language yet"
 
Last edited by a moderator:

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,558
6,058
http://c.learncodethehardway.org/book/ ???

It says "This book is intended for programmers who have learned at least one other programming language. I refer you to Learn Python The Hard Way if you haven't learned a programming language yet"

That's the one. Interesting - I don't recall seeing that note at the start of it. I'm actually not familiar with Python so couldn't say whether it's better to learn it or C first, but since the author of the book I'm endorcing suggested you learn Python first, maybe you should do that.
 
Last edited by a moderator:

WhiteIphone5

macrumors 65816
Original poster
May 27, 2011
1,182
2
Lima, Peru
That's the one. Interesting - I don't recall seeing that note at the start of it. I'm actually not familiar with Python so couldn't say whether it's better to learn it or C first, but since the author of the book I'm endorcing suggested you learn Python first, maybe you should do that.

This site is awesome!
I was just about to start Phyton, then it told me to familiarize myself with terminal, so I'm about do that then Phyton then C and finally objective C
Thanks for guiding me!!
 

Tander

macrumors 6502a
Oct 21, 2011
676
1
Johannesburg, South Africa
I'm 24 and have only started learning to program since last year.

I've started my first job as a junior developer which starts next week as I think doing it professionally is one of the best ways to learn

So no, you're not too old.

Since I am going into iOS programming, I have decided to get my C skills up to scratch first, then move over to Objective-C. :cool:
 

WhiteIphone5

macrumors 65816
Original poster
May 27, 2011
1,182
2
Lima, Peru
I'm 24 and have only started learning to program since last year.

I've started my first job as a junior developer which starts next week as I think doing it professionally is one of the best ways to learn

So no, you're not too old.

Since I am going into iOS programming, I have decided to get my C skills up to scratch first, then move over to Objective-C. :cool:

Awesome!!
What language did you first start with?

----------

Watch the Stanford Java course CS106a on iTunes U and learn Java programing games! Great lectures, great assignments.

Lectures:
https://itunes.apple.com/us/itunes-u/programming-methodology/id384232896

Coursework:
http://www.stanford.edu/class/cs106a/

Then progress to CS106b, then to their iOS class, job done! :)

Great links. Thank you!
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,558
6,058
When I saw the headline, I thought it was a 78 year old and I would still have said no.... 20...you might be too young :p

I don't think there is such a thing as too young (or too old, for that matter.)

All you need is the will and desire to learn, and to want to do it now rather than later. If you've never touched programming before, but go to university looking to get a degree in it, then you're probably going to make a lousy programmer. Why? Because the ones actually interested in it started learning on their own well before enrolling.

The OP is different from the lousy ones - he's looking to learn on his own, and so though he's making the initiative later than usual, he is making it on his own which I think means he could in time be one of the better programmers of his (and my... I'm also 20) generation.
 

Tander

macrumors 6502a
Oct 21, 2011
676
1
Johannesburg, South Africa
Awesome!!
What language did you first start with?

C.

before that I have not touched any other language.

When I was younger (Around 15 or so ) I started with C but due to leaving the country and life in general I never looked at programming in any real great depth, but always had an interest in it.

I did IT support for seven years and last year I had finally had enough and decided that it was time for a change.

So, I started with Objective-C first and found it difficult as there was C syntax I did not know and that the book I was reading did not explain in any detail as it assumed the reader (me) knew some C skills (I didn't)

So, I took a step back and went to C - I ams till going through my C book (learn C on mac - 4th edition by David Mark's) very good book.

Once I have completed the book I will go back to Objective-C and progress from there.

I was offered a job as a junior dev with the intention of the company "brining me up to scratch" on iOS development and I just couldn't say no.

That chapter of my life starts next week and I cannot wait. :cool:
 
Last edited by a moderator:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.