23 answers
23 answers
Updated
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.
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.
Updated
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. 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!
Updated
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.
Updated
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.
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.
Updated
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!
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!
Updated
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!
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!
Updated
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!
Updated
Morris’s Answer
Python. You can't go wrong starting there.
GO on YouTube and research Python.
Morris recommends the following next steps:
Updated
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
Updated
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.
Learn Python
Learn Windows Powershell
Learn Bash
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:
Updated
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!
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!
Updated
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
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
Updated
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.
Updated
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.
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.
Updated
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.
Updated
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!
Updated
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!
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!
Updated
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.
Updated
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.
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.
Delete Comment
Flag Comment