Hello my name is Chris and I am sixteen years old.I like computers and computer technology.I have one more year of school and then my thoughts are on studying computer programming.As I have summer vacation I want to start learning a programming language but I don't know with what to start as there are many ( c++,c,java etc.)Suggest me with what to start as I am a starter and also how to learn it, shall I buy books,do online courses dunno..
Start with C. #C master race
Just kidding.
C is my favorite for smaller applications. Also, C supports pretty much every platform. You will find C compilers for architectures and systems you've never heard. So if you know C, you can pretty much develop for most things in the world.
C++ is pretty much C with extra features like templates, classes and such. It works well for large projects and the polymorphism is indispensible. It will run on also pretty much every platform, but not as many as C, just because there are no compilers for it.
Java is essentially based of C++, and follows a lot of its style. Java is portable, and you do not have to recompile for each target, but the Java Virtual Machine where applications run is slower than a native language like C or C++.
I say learn C first, because if you know C you already know a lot of C++ also, with some differences. Of course, you will want to be able to program in both depending on your target. Java is pretty popular, and if you already know C++ you will get a lot of it easily. Though I personally don't like it I'm being forced to learn it for academic reasons.
I find the best way are just books, and practice. Get a book, and read it, and follow the excercises. Understand why the example code it the book does what it does. Most good books will give excersies, and do all of them. Of course, the best way to learn is by doing, so just keep trying to create programs, look at other people's code to see if there are better ways to do something (don't copy it, learn from it) and try implementing it yourself. With practice you will get better.