What programming language should you learn?
Many people have this same question: what programming language should I start learning? There is no easy answer. It really depends on what you want to learn. In this post, I’ll explore the different programming languages and the benefits they bring.
- Python. Python is the most common, yet general programming language. It can be used for machine learning, data science, web development, among other things. I would recommend learning this. You can learn all sorts of useful programming concepts, like algorithms or binary search.
- JavaScript. Not Java, JavaScript (a.k.a. ECMAScript). JavaScript (or JS) is used for web development. Frontend (Vanilla) JS is the normal type you’ll find in
<script>
tags. Node.js is a backend form of JS, and can be paired with Express.js to make a fullstack application. JS frameworks like React, EmberJS, AngularJS, Svelte, amongst other things. It’s a good choice to start with. - HTML. A debate if it’s a real programming language. As mentioned in a previous post, HTML has the qualities of a programming language, but at the same time lacks crucial qualities. However, it remains as one of the languages that beginners learn. If you’re looking into web development, you have to check HTML out.
- Java. An industry standard, definitely. You make make web apps (using Spring), Android apps, and so much more. The syntax is harder to learn if you’ve already done Python, and you will find that some Python methods don’t carry over to Java, so you will need to make them yourselves. OOP based, it teachers coders more about classes and methods.
- Ruby. Less famous, but has the incredibly popular Ruby on Rails web framework on its side. One of my favourite software, Discourse, uses this. It’s syntax is cleaner, and has some similarities to Python. It’s useful to learn!
- C/C++. My advice is to tackle them only when you are proficient in a higger-level language. C seems closer to others, although it’s the original. Compare how to print ‘Hello, World!’ in C, C++, and Python in the next section.
Comparison of languages
Python:
print("Hello, World!")
C:
printf("Hello, World!")
C++ (an absolute monstrosity):
std::cout << "Hello, World!" << endl;
// Or:
using namespace std;
cout << "Hello, World!" << endl;
HTML:
<p>Hello, World!</p>
JavaScript:
console.log("Hello, World!");
Java:
System.out.println("Hello, World!");
Ruby:
puts "Hello, World!"
# Or:
p "Hello, World!"
Conclusion
So what’s the best programming language? That’s up to you to decide. Looking at web development? Try HTML/CSS/JS. Looking at Machine Learning and AI, or data science? Look at Python. Looking at game development? Use C++ or C#. Looking at fullstack web development? Learn Ruby’s Rails framework, Python’s Flask framework, Python’s Django, Python’s FastAPI, or even Node.js’ Express.js framework.
Each language has its own pros and cons. Cleaner syntax? Python or Ruby. Closer to machine code/Assembly? C++ or C. Somewhere in between? C# or Java (these two have some similarities). My advice is to explore the field which you want to go deeper in (in my own case, web development), and learn thise languages associated with it, and practice, practice, practice. Make your own projects with increasing complexity. Step out of your comfort zone and try out new frameworks or libraries. But the most important of all, have fun!
Good luck!