Buck Rogers of Code
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.
I am going through the exact same thing and I am 42.
The difference is that I am some sort of Buck Rogers* of Code. I started programming when I was 12 and continued up to my graduation in engineering. I started with BASIC on an Apple II, took Pascal, Fortran, Clipper, SQL and mostly C. Wrote complex software such as Compilers, interpreters, etc... But that was before the widespread of GUI, objects, and server/client internet apps. Then my career took a different direction. Now, some 20 years later, for fun, here I am trying to start over.
Like you, I want to write stuff that works on the devices I use, my iPad, iPhone, Mac and PC. But which language? Where to start?
I am finding it extremely difficult! Today is a lot more complex. To write a interactive web page you need to use at least 3 languages (Javascript, Html, and CSS) and make them interact together. How come this mess came out to be is a mystery...
What I did and found so far...
Languages are all very much alike. They have really some few 30-50 commands and a few syntax rules to learn. It is all about loops, variables, functions, If-then-else logical decisions. Amazingly, languages haven't evolved much since C. I may be wrong, but I can't see what objects can do that functions alone couldn't.
I found that more important than choosing the language is choosing the Framework. Sure, one is related to the other as each framework is really just a package of objects and code to easy your job in working with buttons, forms, grids, i/o, file, servers and objects on the screen. In today's world, you can't really do much with only standard C. It is not practical.
The problem is that most frameworks are OS / device related. Learning Object C will likely force you to develop to iOS OSX only. Even Java today, once seen as a language for all platforms, is more and more going into the direction of having the same fate of Flash.
While languages are mostly similar, once having learned one, you can easily jump to another without much effort. The core is similar. Frameworks, on the other range, are a almost infinite series of new objects. You need to invest a lot of time learning them. At the end of the day, these objects behave like new commands added to the initial language core.
I finally decided to go to jQuery, javascript path. Javascript frameworks like jQuery have eased the HTML,CSS interaction mess. Besides, Web apps can run anywhere without plugins. Ajax seems to be fulfilling the promise Java seemed to have lost.
There's plenty of jQuery and Javascript dummies books out there.
*Buck Rogers is the character that was frozen in the 80's only to wake up few centuries later and find a completely different world.