Here are a few suggestions if you want to learn to program, especially if you are a student.
The first programming language you learn should be fun. It should be something that is easy to learn, easy to create things with, easy to iterate and does not dumb you down.
This language should help you get your feet wet in programming and interesting enough for you to persist through early challenges. It needs to have a thriving community that is helpful and lots of open source projects you can learn from.
I suggest Python or Ruby to start with.
If you dig programming, then you can try to intern for startups. You will learn from more experienced people, build stuff others can use. You will learn other important aspects of software development like testing and usability.
During this phase, you will learn to work with others and also learn to explore and do research. This best part of this phase will be your increased confidence.
If you decide to make software development as your career choice, you need to learn a language used by businesses. These tend to be Java, C and C#, PHP, Ruby or Python. Don’t worry about learning multiple languages. After a couple of languages, learning new ones will be fun.
When you work for a company, the software you develop will be used by others. You will r have different set of responsibilities. In addition to programming, you may need to learn testing, estimating, maintaining code written by others and several other skills.
After you get your job and you are kind of settled into a rhythm, you may want to continue learning. Take a look at Programming competency matrix and decide where you want to be.
Once you are confident and start enjoying programming please start a blog and share your discoveries with others. Participate in the community and help others who start. Find some time and contribute to the open source community in anyway you can.
Discussions on First Programming Language
- Why do most universities teach Python as a primary language for teaching scientific computing? – Quora
- SchoolsUsingPython – Python Wiki
- Why MIT switched from Scheme to Python
- Using Python as the “CS 1” programming language