I'm 12 years old and i want to learn how to program. I'm currently working on a PC but i would really prefer if i could program for both mac (intel) and PC (can you program for a mac on a PC? Is it the same language?). I want to do regular desktop applications to start with, but after i know how to program i want to move on to web apps. I also would like to know how u develop for a hacked iPhone. So... Wich programming language should i learn? (also any book suggestions would help) thanx
If you want to develop for both mac and windows OS, you can try Java. You can use J2me to develop an application for cellphones.
I would suggest you start with an interpreted language such as PHP, Ruby (Ruby on Rails), Javascript, etc. They are OS independant and easier to start with, but still powerful. I would suggest PHP as it's free, open source and the most popular web programming language.
First, I think it's great you want to learn a programming language at your age. It's really fun and rewarding. I started with C and C++. There are tons of good books out there for those starting in C and C++, I would just head to your local bookstore and start reading some of the books and see which one explains the concepts most easily for you. However, if you want platform independent, then Java is a good language. Again, there are tons of good books out there.
First you have to knows how to use PC perfectly... After that you can try to learn Java, C++, C#. If you want to publish your programs in Internet will be good to learn hou you can make sites... First you have to learn HTML after that CSS and if you want you can continue with PHP Good Luck
Agree with others, if you want platform independance then Java is the correct route to go, esp if you potentially want a commercial aspect to it in the future. C++ is something I never personally got on with and cannot say that I often see jobs advertised for it - for application development they tend to be heavily slanted towards Java or C#/ .Net To be honest though the main thing about learning to program should be the base concepts of object orientated programming. After you understand these then it is much more a case of just learning the syntax for different languages making learning others much quicker. I am not a developer by trade but can write VB.Net to a reasonable level and even though I have never written a single line of C# code in my life I can read code written in it and understand 99% (esp for web applications which tend to be simpler than desktop anyway)
I agree with sysadm, Python is the way to go if you want to learn your first language. It is object oriented, easy, has some good documentation and it is platform independent
i think you must learn some HTML and then you could select asp or php ... a few years later if you select php you can easly learn C,C++ etc.
I totally disagree with you about going from php to c or c++ being easy. PHP lets you make a var any type you want. c does not let you do that. Lets not forget the use of pointers and you managing memory. Now with the discussion at end most high schools teach something simple like Pascal our Turing then switch to Java to learn more object oriented approach while still not having to manage memory much due to the garbage collection. I think this would be the route to go if you want to learn.