Which programming language should I learn to open up more opportunities in future?
Posted by soohappiee@reddit | learnprogramming | View on Reddit | 41 comments
To be able to work in various fields and domains which is the best language I should learn?
LetUsSpeakFreely@reddit
There is no "best language"
The most employable general purpose languages are JavaScript and Java. Python isn't a bad choice, but people that know Python are a dime a dozen. Typescript (an offshoot of JavaScript) is good since it's useful for various frontend frameworks and NodeJS. Go is really good for backend work. Rust is gaining traction and it's good for it is, but it's a hideous language.
SchemeWestern3388@reddit
I “know”, like, a dozen languages. I’m always looking up stuff to get syntax and details correct.
Just learn Python. It’s a good start.
SnowWholeDayHere@reddit
Back in my day, we had to start with C, the mother of most programming languages.
soohappiee@reddit (OP)
I started with C too.
soohappiee@reddit (OP)
I'm now looking for a versatile programming language and I want to ace it
SnowWholeDayHere@reddit
If you're a masochist, I recommend getting directly into C++. Not the Microsoft version.
soohappiee@reddit (OP)
I heard that you can't do programming in any language without c/c++ but you can do everything with only c/c++ isn't that true?
SnowWholeDayHere@reddit
C++ is very powerful but modern programming doesn’t depend on it. Many languages like Python, C#, JavaScript, Java can be used independently and are widely used to build full applications without touching C or C++.
C/C++ give you low‑level control, but they’re not required for most programming tasks.
soohappiee@reddit (OP)
Very insightful.So you recommend learning c# or java? What are your thoughts on python?
SnowWholeDayHere@reddit
My personal preference is C# since I was able to create an app using MAUI that runs on Windows and Android. I am pretty sure that these things are also possible in Java.
I do use python on a regular basis but not created any full scale app using python.
SnowWholeDayHere@reddit
The logical path would be to lean into C# or Java
soohappiee@reddit (OP)
Why do you say so?
Foreign_Community_17@reddit
I would say Java
colt-mcg@reddit
I'm not a dev, but as a designer who works with them daily, Python seems to be everywhere now. Data, web, automation. It's like the Swiss Army knife of languages. Learn the fundamentals with it, then the specific tools for the field you end up loving. The concepts travel.
Tempmailed@reddit
Which 'various' fields and domains? Each field and domain requires different knowledge sets. Research the field and move on accordingly. If you think you can be future-proof by learning x y and z languages, then you are mistaken. Nothing is future-proof. All you need to do acquires the skills in demand in the field of chocie.
soohappiee@reddit (OP)
I heard that you can't do programming without c/c++ but you can do everything with only c / c++ is it not true?
maxpowerAU@reddit
False
Tempmailed@reddit
Not everything you hear is true.
vegan_antitheist@reddit
Learn Brainfuck
Eye_Of_Forrest@reddit
a good enough source of info if you care only about use and not what you actually want to use it for, i do recommend however you rethink your approach
https://octoverse.github.com/2022/top-programming-languages
JohnBrownsErection@reddit
IMO? Master one, really well. You can do just about anything with one language that can be done with any other. Then get at least pretty decent with other in demand languages. It's super easy to pick up languages once you've gotten at least one down, and concepts like data structures and algorithms carry over across languages.
Like, my first language was C++(back in 2016), my main current language is python, and for a class this fall I'll be taking a more advanced data structures and algorithms course in C++ despite not having really used it at all in about the last 6 years - so my plan is basically to do the homework from my various python courses(including an intro data structures and algos class) in C++. It'll help me get up to speed relatively quickly on the language as far as where I need to be for my next class.
I also know PLC ladder logic, which I picked up shortly after C++ - it was dead simple to learn because I already had a good grasp of programming logic.
Basically, focus on what you think you'll use the most right now and later on you can make a jump as needed. I'm also planning on learning FORTRAN just for fun.
soohappiee@reddit (OP)
Do you recommend learning cpp for a career in the modern day? Or should I stick with Java which has lots of career opportunities in the market today? I want to learn a language that can do everything
JohnBrownsErection@reddit
Truthfully they're both really good, so you'll find proponents of each.
If you want the smoother general-purpose path, I’d choose Java. It’s great for learning OOP, backend development, school projects, enterprise software, and general job-readiness without immediately being suplexed by memory management.
If you specifically care about game engines, embedded systems, robotics, high-performance computing, trading systems, graphics, or low-level systems work, then choose C++. It gives you more control, but it also gives you more opportunities to accidentally create a bug so ancient and cursed that debugging it feels like doing an exorcism with a compiler.
For most beginners, I’d recommend Java first unless they already know they need C++. The important thing is learning programming fundamentals well: variables, loops, functions, classes, data structures, algorithms, debugging, and building actual projects.
Learning one language deeply beats collecting five languages like Pokémon and being bad at all of them.
soohappiee@reddit (OP)
What are your thoughts on python?
JohnBrownsErection@reddit
I love it - I'm a data science major, which is how it ended up my primary language. I do a lot of messing around with data sets and actually chose that major specifically due to being a finance nerd. It's an excellent, easy language to learn, and puts a lot of the trickier stuff to deal with under the hood.
10 lines of python is basically 100 lines of C++ in a trench coat.
soohappiee@reddit (OP)
So you prefer Python over cpp?
JohnBrownsErection@reddit
Yeah, absolutely. It's more suited to the things that I like to do - but to be clear, I could still do these things in C++ and while it would take a lot longer to code them, they'd run a lot faster. Python isn't known for its speed.
soohappiee@reddit (OP)
I heard that you cannot programming without c/cpp but you can do everything with only c/cpp is it true?
JohnBrownsErection@reddit
You can absolutely learn programming without C or C++. Tons of programmers start with Python, JavaScript, Java, C#, Ruby, Go, etc. Programming is mostly learning logic, problem-solving, data structures, debugging, and how to build things. The language is just the tool.
C/C++ are powerful because they’re closer to the machine and used for things like operating systems, game engines, embedded systems, robotics, high-performance software, and some finance/trading systems.
But “you can do everything with only C/C++” is only technically true in the same way you can technically eat soup with a fork. Possible? Maybe. Smart? Usually no.
Use the language that fits the job.
soohappiee@reddit (OP)
Wow you've made it very clear! One last question which language do you recommend to learn in modern day?
JohnBrownsErection@reddit
If you aren't sure what you want to do, Java is probably the safe option, but overall it doesn't really matter much. You can typically pick up whatever else pretty fast once you know one. The concepts behind programming are all language agnostic, which is to say they carry over.
soohappiee@reddit (OP)
Yea ig I will stick with java.
byshow@reddit
There's no universal language. Also programming language is just a tool. First find the area you are interested in. Then search for open positions in thst area, figure out what technologies they're using, and start from there
unhealthy_carcass@reddit
yeah this is good advice but maybe start with something like python since its used pretty much everywhere these days. when i was switching from design work to more technical stuff i found python really approachable and you can do web development, data stuff, automation scripts, whatever. once you get comfortable with one language the concepts transfer over pretty easy to others anyway
soohappiee@reddit (OP)
Which is the most versatile language according to you?
Last_Being9834@reddit
JavaScript/Typescript
Last_Being9834@reddit
Not so popular anymore since JS/Node allows reusing code.
AffectionateZebra760@reddit
Start with python and try to see if it make sense to u
Philluminati@reddit
This is programming languages listed according to job openings in the UK market: https://www.itjobswatch.co.uk/IT-Job-Market/UK/Programming-Languages
Python, C# and Java are the easiest jobs to find as they are popular corporate languages.
Languages like Scala, C++ and Rust have fewer opportunities but pay well.
taedrin@reddit
You need to be able to learn all of them on demand. Every field and domain is different, and different companies are going to be using different languages, platforms and/or frameworks.
It's far more important to learn programming concepts/paradigms, so that when you look at a language you've never seen before, you can still work out what it is doing.
BranchLatter4294@reddit
If you want more opportunities, learn them all.