Which Programming Language to Start?
One of the first decisions on the Developer journey is which programming language to start learning. This question has two major points of consideration: Career Goals, and Personal Strengths.
Table of Contents
If you’re learning a programming language with the intention of making a career out of it, then it would be good know that building software with it will still be a marketable skill in the future! In addition, since you’re stepping into new territory, it would also be good if there were many people on the internet who had already asked the exact same questions you’re bound to ask (with people kind enough to answer them). Two helpful Google searches to satisfy these two thoughts would be jobs by programming language andcommunity by programming language. Another helpful search in this space might be salaries by programming language, however, if this building software is something you're very interested in, you're likely going to touch on many languages over your career.
Try to append
over time to the preceding search terms and look at the images for charts (don’t forget to verify sources). A community can’t grow without jobs to sustain it, so if you only look at one of these charts, it should be this StackOverflow Trends chart.
These pages contain charts comparing the programming languages that run on the internet’s web servers:
Your Use Case
- What tools have been built using the programming language and what problems do those tools solve? Are they the same problems you’d like to solve?
- How long does it take to develop something new using the programming language?
- What type of device was the programming language meant to run on?
- Do the features and performance of the programming language meet your needs?
These questions are all entrepreneurial or intrapreneurial in nature. Most programming languages can handle most use cases in some capacity, but there are some generalizations that can be made which are explored in the Priority Matrix below.
Technical and performance differences can be critical to deciding on the best programming language for a use case. Although these use cases are considered in the Priority Matrix below, a more detailed examination of the technical and performance differences of various programming languages can be found at Overview of the Efficient Programming Languages.
Playing to your personal strengths is another great way to tackle which programming language to start learning. Some questions to explore are:
How Physically Visual Are You?
How’s Your Mental Visualisation?
If you’re good at visualising structures in your mind, then you might be well-suited for Back-End development. But it doesn’t rule out the possibility of being better suited for Front-End development.
Are you comfortable with arbitrary conventions?
How comfortable are you with rapid change?
Final Considerations (unless you know more)
Coming soon — a tool similar to Best ‘Learn to Code’ Platforms, except backed by data sets produced by web scrapes.
Sam Malayek works in Vancouver, using this space to fill in a few gaps. Opinions are his own.