When we think about software development, one of the first questions that comes to mind is: what is the best programming language to learn or start a tech career?
The answer to this question is more complex than it seems because there are no clear and objective metrics to define the best programming language. Although there are rankings that classify languages using metrics like community size, number of projects, or even survey votes, these indicators don’t qualify a programming language but instead show some trends.
So, is it worth learning C or C++? The answer is, of course, YES! C and C++ are mature and efficient languages that won’t become obsolete anytime soon and offer many job opportunities.
But what about the issue of C and C++ not being memory-safe programming languages, often leading to security vulnerabilities? Wouldn’t it be better to learn Rust instead?
The answer to this question is nuanced and depends on your experience level, career goals, or job opportunities. Beginners should focus on mastering fundamental programming concepts rather than specializing in a specific language. For experienced developers, the choice between Rust and C++ depends on project requirements or team expertise.
Selecting your first programming language as a beginner
If you’re just starting in software development, I’d say you’re focusing on the wrong questions! Early in your career, the language itself doesn’t matter as much as the various concepts you need to learn.
It’s very common for beginners, and even seniors, to have doubts about the path they want to take in their careers. So, believing that choosing a programming language will define your future and career is meaningless, dangerous, and limiting.
Know that in the tech world, software development offers many possibilities, so don’t be afraid to experiment and explore until you find what you truly enjoy working on:
Web Design
Cybersecurity
Game Development
Artificial Intelligence
Back-End Development
Front-End Development
Mobile App Development
Embedded software
Infrastructure
DevOps
A great tech engineer won’t just learn one programming language but several. It’s also not healthy to stick to a single programming language, believing it’s a one-size-fits-all solution. That doesn’t exist. What does exist are the right tools to solve specific problems.
When you’re starting in programming, you’ll need to master several fundamental concepts like:
Programming Logic
Object-Oriented Programming
Data Structures and Algorithms
Version Control
If you’re beginning to learn to program, I would recommend starting with C++, Python, C#, JavaScript, or Rust if you prefer. In fact, often, the choice of a programming language will be guided by the university you attend or the company you want to work for. So don’t limit yourself!
Here are some of the main systems developed in C or C++:
🛠️ Operating Systems
Linux
macOS
Windows
⭐️ Popular Applications
Microsoft Office
Google Chrome
Photoshop
🕹️ Games
Unreal Engine
Counter-Strike
Choosing the right programming language for experienced developers
Well, if you consider yourself a senior in software development, you already know that there’s no such thing as the best programming language. In reality, we have the right tools to solve specific problems.
If you already master a programming language and are considering learning something new but are undecided between C++ or Rust, I would advise you to consider things less technically and more pragmatically.
If money isn’t an issue for you … learn Rust and be happy.
Rust has gained much attention in recent years, but when it comes to job opportunities, you’ll be better positioned if you know C or C++ than Rust.
A quick search on LinkedIn will show that there are hundreds of job opportunities for Rust programmers compared to thousands for C or C++ programmers.
As a comment I saw on Reddit says:
C++ = job = money = food
In any case, if money isn’t an issue for you and you simply want to decide between C++ or Rust, I’d say learn Rust and be happy.
Below is a list of projects using Rust:
🌐 Web Development
Dioxus
Leptos
🤖 Machine Learning and AI
Polars
Candle
Grok
🔗 Blockchain
Solana
Polkadot
Lightning Development Kit
Takeaways for success in tech
The secret to succeeding in a tech career is being curious and always staying updated. To avoid stress and frustration, I don’t recommend learning the latest trends but focusing on understanding how things work in greater depth.
In my next posts, I’ll explain more about C, C++, Python, and Rust. I’ll also suggest some books and online courses. Interested in learning more? Subscribe for free to the Tech Engineer!
I hope you found this helpful! Share your thoughts, questions, or experiences. Let’s connect on LinkedIn or YouTube and build a community together.
See you next week.
Still undecided, but I am oldschool so I believe I will learn C