Ever faced confusion on how to start learning programming, which one to start with c, c++ or java, which books to consider and where are resources? All your questions answered and doubts cleared in this definitive guide.
This guide is answer to some popular Frequently Asked Questions by newcomer’s before entering into the world of programming. This article will provide you an detailed analysis on the most debatable topic – how to start learning programming. Following question and answer’s will help you to clear some of your confusion on how to start learning programming.
1.Which Language is best to start learning programming?
To this question there will be diverse opinions by the expert, but most importantly you have to keep in mind that no programming language is easy to start with. This is because to start learning programming involves learning the concepts first (i.e how a program interacts with a system), then programming language parameter’s (to write programs), write programs to solve some problems, then delve into it’s advance aspect’s and get into solving some real world problem’s.
C or C++ or Java are considered best to start with. Just pick any one and start learning, after you have grasped the concept’s and are able to do some standard programs then you can extend your knowledge to other languages. Believe me after you start with any of these programming language at some of time in future after spending a considerable time with that language you’ll fee that that you still have to learn a lot, as there infinite possibilities what you can do with these, may be create a new language of your own or create a whole new operating system, possibilities are endless.
Now, if you are wondering out of the three which one to pick and start learning programming then here is the solution:
C Programming Language created by Denis Ritchie was the first to be popularized. Most of the operating system like windows, Linux, Mac OS, and others owe their origin to this language. Many popular and free/commercial software’s like Microsoft Office , Adobe Creative suite , Auto desk products , Video/audio production software’s…etc..
Then came C++ (by Bjarne Stroustroup) which is only advance form of C language.
Java by James gosling is also one of the most poplar because it also finds it’s usage in numerous of the devices, software’s and web applications.
2.Which Programming Language Should I start with?
Now,that’s purely personal choice, really! . For instance I started with C language learning it myself, then in my school C++ was taught and I could make easy transition from C to C++ in the same time preserving the C knowledge. Now, I had been learning Java for some months now.
How to actually decide which one to start with depends on what you want to achieve with the language.
If you want to develop programs for windows/Linux/mac platform C/C++ should be you starting point, though for Mac programming requires knowledge of C – Objective, but learning that can be made easy with some standard knowledge in C/C++.
Now, you decide yourself which one to start with.
3.I’m Confusing With C or C++ , Which to start with ?
If you are in any engineering stream then I’d recommend to go with C, then go to C++. If you are not into any engineering the you can always start with C++.
4.Where To Learn and What Are The Proper Methods?
If you really do not want to join any coaching or institutes for that purpose then you need not worry because you can always start learning programming yourself (i.e you’ll be self taught).
What you’ll need first is a good book which cover’s most concepts with nice and adequate examples and has decent workable exercise’s.
Just start from the first page of the book and start learning slowly and steadily with dedication and honesty.
5.Which Books Should I Prefer?
Now, this is a very important question. I started with a book named “Let Us C” by Yashvant Kanetkar and I should admit that’s a real good book for beginners. The content is explained in a very easy and lucid manner even a lame man can learn a lot. I don’t know whether this book is available in other countries other than India.
Also See: List of recommended books for C/C++ &
My suggestion for Java books:
1. A Programming Guide to JAVA Certification-By Khalid Mughal (Best Books in Java Both for beginners and expert)
2. SUN Certification Programming for JAVA 5 _ SCJP – Kathy Sierra (Best beginners and professionals)
3. Head First in JAVA – Kathy Sierra (Best beginners only)
4. Complete Reference in JAVA 6 (Beginners only)
Here is a Opensouce Java Resource for beginner’s (Just for reference)
There are books, very voluminous often boring like dictionary for Java which you may consider.
Modern brand’s like Wiley and Oreily books have been popular now-a-days.
6.Where are the online resources?
With the help of Google search tool it should not be hard to solve you query or doubt’s on any programming language. Last I’d recommend Stackoverflow for you run into any serious problem and could not solve on your own using a book or Google or any forums over internet, use it as your last resort.
7.What IDE To Use?
IDE=Integrated Development Environment.
The compiler or say a interface where you will write you code and get it compiled (converted to machine readable format) and run it.
For Beginner’s you must stick with the old school Turbo C++, You can obtain you C++ Compiler Here.
Modern IDE like Netbeans now also support’s C/C++.
For Java, Eclipse is indispensable and is a must for learner’s.
8.Which Operating System To Start With?
The OS that rules the market is Microsoft Windows for sure and most of the pc’s use it. I hope this would be to use as a base to start learning programming with. Because as the Operating system’s vary the coding style also varies. After all, all programming languages are available for all Major OS’s. Just use Google to find them.
Tip: Before starting with you learning process just head on to Wikipedia and do a little research on the language that you are going to start with, that’ll build a background for you.
Did that help you or are you still getting confused let me know in comments…