Skip to main content
23 answers
25
Updated 1245 views

Which software language is most versatile and also future proof?

I am studying CIS

Thank you comment icon Start with Python. Brandon Prasnicki

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

25

23 answers


1
Updated
Share a link to this answer
Share a link to this answer

John’s Answer

I think you really have two questions here and the answers are not really the same. Different programming languages are good at different things. It also really depends on what you might want to do in the future. The thing about programming is that is predominantly a fashion / fan industry. You will find fans of every programming language who will tell you why theirs is best and why all the others are rubbish! Different companies choose different programming languages so you can't even say that one language will earn you more money than another. Older (and rarer) programming languages like COBOL can often command a premium wage because there are way fewer people who can use them than say Python or C# that many schools teach. If you want something new, then look at Rust perhaps.

I would rather suggest that learning the basics of programming is useful. To do that you can choose whatever language you prefer to be honest. Once you have those basics as a foundation, picking up the next language and the one after that becomes much easier.
1
1
Updated
Share a link to this answer
Share a link to this answer

Adit’s Answer

Hello! It's fantastic that you're exploring diverse and enduring programming languages while studying CIS. Here are some you might want to look into:

1. Python
Flexibility: Python is employed in various fields such as web development, data science, artificial intelligence/machine learning, automation, and beyond.
Longevity: It has a solid foothold in AI and data science sectors, and is extensively utilized across different industries.

2. JavaScript
Flexibility: It's indispensable for web development (including both frontend and backend with Node.js), mobile applications, and serverless architectures.
Longevity: Web technologies are here to stay, and JavaScript continues to progress.

3. Java
Flexibility: It's superb for enterprise applications, Android development, and large-scale systems.
Longevity: Java remains in high demand for backend development and large systems.

4. C#
Flexibility: C# is used in desktop, mobile (through Xamarin), and web applications (through ASP.NET).
Longevity: Microsoft is constantly enhancing the ecosystem (for instance, .NET Core, Azure).

Python stands out as one of the top choices for both flexibility and long-term potential. However, acquiring proficiency in multiple languages will provide you with adaptability for upcoming trends!
1
0
Updated
Share a link to this answer
Share a link to this answer

Aaron’s Answer

Python is a great language to start with and also very relevant today in many different applications including AI. As far as future proof, you will likely find that you will learn many languages over your career at different levels of proficiency. I wouldn't worry about future proof. The more languages you learn, the easier it becomes to pick up new ones (there is a lot of overlap in terms of concepts). Also, the best test companies are less concerned with specific languages but whether a future employee can learn and adapt.
0
0
Updated
Share a link to this answer
Share a link to this answer

Sam’s Answer

Different languages have different strengths, which means a language that's good for one task, may not be good for another task. Some languages and their strengths are...

Python: A popular language that's good for data analysis and machine learning
Java: A good choice for large-scale enterprise applications
R: A specialized language for analyzing and visualizing data using statistical methods
C++: A common choice for embedded systems development, such as for IoT devices, automotive electronics, and industrial control systems
SQL: A language used for accessing, managing, and maintaining large databases
JavaScript: A good choice for front-end development
Ruby: A good choice for back-end development

If you're interested in game programming, C++, Python, Java, C#, and Objective-C can be good choices.

Also keep in mind that some of these languages are very similar in syntax and how you use them, so learning one makes it easier to pick up a second and third language. C, C++, C#, Java, Objective-C all evolved from C, so it's no too difficult to learn the others in this set when you have mastered one of them.
0
0
Updated
Share a link to this answer
Share a link to this answer

Jeff’s Answer

Hi Tahjib,

Others have touched on what I think is most important and that is to learn programming basics. Every language you learn makes the next one easier to pick up. If you understand looping constructs, branching, variables, memory management (in some languages) and other aspects of programming, you can translate that into almost any language. Often, language differences are primarily syntax. Popular languages are always evolving, changing and being replaced by new languages so you will always be learning and evolving in technology.

Back in the stone age, when I started working for IBM fresh out of university, I was hired as a PL/1 and PL/s application programmer. I had never seen PL/1 or PL/s but I was hired because I had written code in 20 languages during my college career. They knew that picking up two additional languages would be quick and easy.

I would suggest starting with C++ or JAVA, then Python. Learn as many as you can and keep learning!

Enjoy the process!
0
0
Updated
Share a link to this answer
Share a link to this answer

Keya’s Answer

Python will improve your understanding and is user friendly
0
0
Updated
Share a link to this answer
Share a link to this answer

Aparna’s Answer

Java, Python, and Node JS appear to be future-resistant in my view.
0
0
Updated
Share a link to this answer
Share a link to this answer

Kajal’s Answer

Let's embrace the idea of language independence in software development. After all, most software languages are essentially the same, performing similar functions, just with their own unique keywords.

Kickstart your journey by learning an Object-Oriented language such as C++ or Java. This will solidify your foundation, making you a stronger coder. Once you've mastered this, you can easily transition to a language like Python, which is rich in keywords and allows you to write efficient code in fewer lines.

Remember, the choice of language should also align with your specific use case. For instance, we often use Go language for deployment scripts. So, stay flexible and adaptable, and let your coding skills flourish!
0
0
Updated
Share a link to this answer
Share a link to this answer

Calvin’s Answer

1. Python


2. JavaScript


3. Java


4. C#
0
0
Updated
Share a link to this answer
Share a link to this answer

Vinod’s Answer

Sure, no language can guarantee future relevance, but that's okay! The real key lies in mastering the fundamentals of a computer language. This way, you're equipped with the skills to tackle any new language that comes your way. Remember, Java, Python, and Javascript have shown great resilience and popularity in recent times. So, learning them could be a smart move!
0
0
Updated
Share a link to this answer
Share a link to this answer

Morris’s Answer

Python. You can't go wrong starting there.

Morris recommends the following next steps:

GO on YouTube and research Python.
0
0
Updated
Share a link to this answer
Share a link to this answer

antony’s Answer

A very good question and one i grappled with before i started my journey into web development, my take would be to find out what kind of software engineering would you like to do, is it web development, game development, data science, fintech, embedded development, kernel development figuring that out will help narrow which programming language is mostly used by said domains. But the biggest advice is to learn Computer science fundamentals, learning how to program and algorithms and data structures, because the truth of the matter is programming languages come and go , if you learn to program you can pick up any language as programming is language agnostic
0
0
Updated
Share a link to this answer
Share a link to this answer

James’s Answer

Choosing the correct tool for the job is crucial. Python is a great starting point. It provides a solid foundation and is relatively straightforward. Additionally, consider learning scripting in Windows Powershell or Bash (Linux) for a more versatile skill set.

It's important to identify your career goals. Are you aiming to become a full stack developer? Or perhaps you're more interested in back end development? Maybe front end development is your calling? Or you might be drawn towards the UX world? Define your path, and let that guide your learning journey.

James recommends the following next steps:

Learn Python
Learn Windows Powershell
Learn Bash
0
0
Updated
Share a link to this answer
Share a link to this answer

Natalie’s Answer

hi!

agreeing with others that no single language will be the "best," and that the fundamentals are more important. that being said, picking up a more complex and nuanced language will be a more beneficial first step (e.g. Java, C++, etc.) to pick up more skills in the future – and will also make it easier to pick up other languages (e.g. Python). hope this helps!
0
0
Updated
Share a link to this answer
Share a link to this answer

Adam’s Answer

I'd recommend Python, not only because I've found great success with it personally, but many of my interviews involved selecting it. In the hot AI/LLM space, there are lots of libraries for it.

But don't take just my word for it, the IEEE has a great article showing it's the #1 programming again here in 2024:

https://spectrum.ieee.org/top-programming-languages-2024
0
0
Updated
Share a link to this answer
Share a link to this answer

Hanish’s Answer

I think more than anything, I found Python to be the most versatile, but for SWE work understanding how to quickly learn a language is also paramount.
0
0
Updated
Share a link to this answer
Share a link to this answer

Arvind’s Answer

Hi Tahjib,
It depends on what domain you are looking for. No coding language is good or bad but essential to learn fundamentals like OOPS, data structures and complex algorithms.
If you are planning for system level eroding, C is mother of all, if in data science, big data, AI/ML etc, Python is best as of now. For web based development Angular might be best. All languages are good after all it's your grasp on fundamentals and logic, that works. HTH.
0
0
Updated
Share a link to this answer
Share a link to this answer

Parag’s Answer

Starting with Python and Java is a great idea, but it's important to master one of them before branching out to other programming languages. The key is to grasp the concepts, as this knowledge can be applied to any language and will be beneficial in the future.
0
0
Updated
Share a link to this answer
Share a link to this answer

Murali’s Answer

Java, C++, Python. Be an expert in one.
0
0
Updated
Share a link to this answer
Share a link to this answer

Clélia’s Answer

If you're looking for versatility and something future-proof, I'd say Python is a solid choice. It's used in everything from web development to AI, data science, automation, and more. Plus, it's easy to learn and has a huge community, so you'll always find resources and support. It’s definitely a language that’s not going away anytime soon!
0
0
Updated
Share a link to this answer
Share a link to this answer

Cristian’s Answer

Future-proof? I would say Python, is old, but it made its way to the first place on the TIOBE index, and it is the most demanded programming language out there. It is also versatile, it can be used from data things to web development and embedded systems.

However, I find JavaScript a bit more versatile (and it also has future); with JavaScript you are able to create desktop apps (with Electron), mobile apps (with React Native), web apps, server apps (with Node.js or Deno), and more!

In conclusion, Python or JavaScript!
0
0
Updated
Share a link to this answer
Share a link to this answer

Biplab’s Answer

As someone working in IT even without a computer science background, I would suggest Python, JavaScript, Java, and C#. Even as a non-CS major, I learned basic Python and it is ubiquitous.
0
0
Updated
Share a link to this answer
Share a link to this answer

Sowjanya’s Answer

Great question and responses so far!

Developing a solid understanding of Computer Science fundamentals would help you develop a solid foundation for any programming language.
Javascript and Python are used in versatile applications and are good choices if you are looking to pick one to start with. But, skills from one programming language are transferrable to another programming language.
0