As you can see in the image below the path to choosing a programming language is not an easy one. In this article I’m going to help you answer a question that many aspiring programmers ask. What Programming Language to Learn?
Programming languages are like tools. You pick one depending on the career path you want to take or what project or application you want to build.
Choosing programming language based on career path or project:
• Web Development path
◦ (back end) php, java, python, asp (database) mysql, nosql
◦ 70% of web blogs are written in php
◦ Big multinational companies use Java as the back end solution (established language)
• Desktop Development
◦ C#, Java, python
• Data Science
• Artificial Intelligence
◦ Python, R, Lisp, Java
If you are still undicided what career path to take or what project to build, but want to learn programming. Pick a popular language:
Most popular languages according to Stackoverflow.com
1. pick a book and or watch video tutorial on one of these languages and learn the basics. As you go through the book, make sure to build projects and do exercises, this is where you get to learn.
2. I like books that teach computer science concepts and put emphasis on problem solving.
3. Use different resources when learning a programming language. Don’t rely only on books. There are many place where you can learn and practice code: youtube, codeacademy, edx, udemy, udacity, stackoverflow (forum for posting question). List of online learning resources
4. Solve coding challenges online (many site provide this) Online coding challenges
Learning programming is about spending long hours coding in front of the computer. If you don’t have the drive to sit there, probably coding is not for you.
5. Think of learning code as a path rather than a destination to get somewhere like landing a job or building projects. Software development is an industry where multiple technologies are constantly emerging. So being a life learner and curios about technology helps a lot.
6. The most important skill a programmer should have is not his/her ability to learn languages and read code. The important skill to learn is to solve problems using computer science algorithms. Learn how to sort and search different data structure, and what data structure to use for solving a given problem.
7. During you path as a programmer, you will work with multiple languages and framework. But is your ability to implement algorithm to solve problems what set you apart. this skill is language independent. (transferable to whatever language you learn)
8. After you learn the basics of programming, move on to “data structure and algorithms.” Learn about O notation, time and space complexity. This will allow you to analyze code and algorithms for the most efficient implementation. Knowing how to arrive to the simple and most efficient way to solve a particular problem is very important as a programmer. list of data structure and algorithm books
In conclusion, If after reading this article, you still don’t know what programming language to learn. That means you are not asking the right question. And that is: what you want to do? Then choose the language.