Hi! I want to learn programming. I'm 14 years old and very fond of computing. The only problem I face is Which programming language should I learn? or should I learn Programming i.e I learn the basics of programming so that I will be capable of learning any programming language. Also, when you recommend me one of the choice I stated above then please give me resources for learning e.g book names or some websites which will start me learning from scratch. Furthermore, I want to state that I want to create cool games, softwares or even Operating Systems from programming, that might look very odd to some people. I have no previous experience of programming except I was taught GWBASIC in school and we were only taught only 4 to 5 commands and statements. I liked it a lot but, then realised that this programming language is not perfect for my ambitions. I like Python, C, Java and C++ programming language.So, please help me.
Awaiting for your replies anxiously!

Python is awesome to start with, i'm 15 now. I started off with python without any knowladge and now I have gone to Java, android development, PHP. It's opened loads of gaps! The best place I think to learn all of these languages is here: http://thenewboston.org/tutorials.php It's completely free video tutorials with voice over. They are great. Hope this helps!

  • Mat
Comments
Thanks for the site tip!

The first thing that most programmers learn is the C programming language. There are books and courses online that present the concepts of programming and the intricacies of C itself very well. I suggest you start with C. Python is also good due to its friendly syntax and programming style but if you want to learn programming the hard way, go for C.
Check out the C programming tutorials at www.newboston.com. For books you can buy any Undergraduate level course text book like the one by the pioneer of the language itself Dennis ritchie or you could gor a book like C programming for absolute beginners by Michael Vine. Enjoy programming!

My first programming experience was at high school, learning FORTRAN. Then later, when the first homecomputers appeared I learned and experimented alot with BASIC, C and Pascal. Professionally I programmed in Modula-2, some C++ and VBA. Now I like C# alot.
So I think it not the language that is so important, but it is more what you like to do with it.
Certainly try out the suggestion by ma1998x!

There's no correct answer on this question I will do my best to explain my view of it though. It's very important when you want to start programming that you know what you want to create. If you for example wants to create websites it won't be much useful to go and learn Python. If you on the other hand wants to create small scripts/tools to optimize your everyday work or make some useful tools. If you are working with computer security Python is a great language to know since it will be fairly easy to create your own tools in it. I have for example created a XCIF/meta data remover and a server information gathering tool in Python.

My point is that it would be easier for me to help you out if I knew what you wanted to eventually create. When that's said I can still give you some universal advices. I won't recommend you to start out with C,C++,C#, Assembly language or anything similar to that. It would simply kill yourself since those are fairly hard languages to master and you could risk to loose your motivation because of the high learning rate.

Instead languages like PHP, Javascript, Python, Perl etc. are great languages for beginners. They are easier to master and you can reletively fast create your own programs/scirpts with them. The thing all those languages have in common is that they are all in some way web/server focussed. You will therefore already there have a great introduction into web development.

BUT my overall recommendation since I don't know what you want to eventually achieve/create will be Python. The reasons for me to recommendate Python is becuase of several reasons. Python is really popular meaning you will find loads of support on the internet which will be of great help when starting out. Python is also cross-platform meaning you can write your scripts/tools for almost every platform at the same time, it only requires the user to have Python installed. One of the best things with starting out with Python is that it teaches you good programming habbits. Because Python uses White spaces it will teach you to write beautiul code (yes that matters).

I can see that you want to create games and bigger applications and you should therefore move on from Python after some time. The important thing here is to remember that you should not move on until you fully understand programmign through Python. When you understand that differnet programming concepts (OOP especially) you can move on to a harder lanugage. Since you want to create games I would suggest programming lanugages like C++, C# and Java. But again, it's important that you don't move on until you are fully ready. If you move on to fast you will loose your foothold and drown in the severity.

*I have included rescources on both Python 2.7 and 3.3. You should start out with 2.7 since it's the version where most rescources can be found and a lot of people program in it. 3.3 are getting more popular and you could move on to that when you have learned the basics. I have also included to rescources to E-learning sites which I found good, especially Codeacademy is worth a try.

RESCOURCES
* www.learnpythonthehardway.org
* http://www.greenteapress.com/thinkpython/thinkpython.html
* http://docs.python.org/2.7/tutorial/index.html
* http://docs.python.org/3/

E-Learning:
* http://www.codecademy.com/tracks/python
* http://www.learnpython.org/

Your replies really really helped me alot. I was thinking of starting from C language but, after reading your replies to start with python; I will start learning it. I am already learning HTML 5 and CSS 3 for web designing and have a wordpress blog. So, here python will also help me because of its diverse nature and for use in server side. After fully mastering it, I will and want to learn C language because I want to design big softwares.
Mat1998x and AnimaTempli, personally, I liked your replies and due to your alike answer. I will start with python.

This question has already been answered. Start a new discussion instead.