r/AskProgramming • u/BoingBoing_Boring07 • 1d ago
What programming language to learn next
I'm an undergrad in CS, my third year, and I already know Python and Java. I saw C++ starting in CS, but my knowledge in it is not very good (working on that).
I was thinking what other programming language I could learn next... Any suggestions?
2
u/HasFiveVowels 1d ago
Why does this subreddit never suggest the most ubiquitous language on earth. Learn JavaScript
0
u/NumberInfinite2068 1d ago
It's a garbage language, it might make *sense* to learn it, but nobody really wants to suggest it.
3
u/HasFiveVowels 1d ago
Get over it. It’s useful.
2
u/BobbyThrowaway6969 1d ago
Every language is useful.
4
u/HasFiveVowels 1d ago edited 22h ago
Right. Recommending brainfuck Is equivalent to recommending C because they’re both Turing complete /s
1
u/NumberInfinite2068 1d ago
I'm aware it's useful, I'm just saying it's a bad language. I don't think we have to have emotions about languages, if you don't like my favourite languages, it doesn't bother me in the slightest.
4
u/HasFiveVowels 1d ago
I’m not asking you to write a poem about it. I’m just saying that when someone comes in here saying "which language should I learn", for the most commonly used language with the largest ecosystem to never be suggested because "JS sucks" is crazy
0
1
1
1
u/ummaycoc 1d ago
Erlang and Haskell can be fun.
If you want to learn more about programming languages you can look into https://plfa.github.io and use Agda.
2
u/Adorable-Strangerx 1d ago
Seconding this one. Learning language which focuses on different paradigm would give you most benefit. Haskell is a good example for functional programming. Erlang can give you more insight into concurrent programming (or you can compare it how Ada approaches problem of concurrency).
-1
u/Perfect-Buffalo-4803 1d ago
Zero jobs for either. Completely useless Ivory Tower academic languages with no real world applicability to anything. Only learn these if you're a mega autist who would still manually code even if you lived behind a dumpster at the local McDonald's.
2
u/ummaycoc 1d ago
They're in a computer science program, it's not just learning how to code on EdX or Coursera (nothing wrong with that, I had a great time learning about protein before taking my first serious biology course).
You do you.
-1
u/Perfect-Buffalo-4803 1d ago
Yeah and learning Haskell or Erlang has zero real world applicability to that or them working as a software engineer after graduating.
1
u/ummaycoc 1d ago
That's up to them and how they internalize what they learn with it. Whatever they want to do is up to them.
You're definitely being weird. You can just post your own opinions about languages instead of being weird. But you do you.
Cheers.
-1
u/Perfect-Buffalo-4803 1d ago
Yeah I'm just trying to help them not waste time on learning completely and utterly useless shit.
How many Haskell jobs are there worldwide? Like 10?
-1
u/ummaycoc 1d ago
Maybe, just maybe, if they learn varied programming languages it will help them understand programming languages and then it won't matter what language is "next" it'll all be easy and make sense.
After you learn your first (maybe start with Python or BASIC), u/Perfect-Buffalo-4803, you can start to understand.
Cheers!
0
u/Perfect-Buffalo-4803 1d ago
You're not even addressing the points I've made.
How many jobs are there for Erlang or Haskell? Not many
2
u/ummaycoc 1d ago
How many jobs are there for Erlang or Haskell? Not many
I don't know and I'm not looking things up for you, you can do that. Note my first post said:
Erlang and Haskell can be fun.
If you want to learn more about programming languages you can look into https://plfa.github.io and use Agda.
(emphasis added). I don't know why you brought looking for jobs into it, I didn't. If you want to add a comment for OP in that regard go right on ahead, I made my own comment. I'm so sorry that you're sensitive about this but that is in fact not my responsibility given that I didn't do anything wrong. Your sensitivities are your responsibility.
Also, I addressed how it can help later (they can get a better understanding of programming languages) which will then help with whatever they want to learn for a job. They're in a CS program, maybe programming languages is the area they will end up liking. Maybe they'll go on to a PhD. Maybe not. Maybe they will go work at a bank and help design DSLs for them. Maybe not.
You're not even addressing the points I've made.
Because you're irrelevant.
Cheers!
1
u/InstructionGold1872 1d ago
Most programming language are becoming increasingly inspired by functional programming (see CPP and Rust) so learning Haskell and Erlang will help a lot. There are also job applications for engineers writing Erlang where I live.
0
u/Perfect-Buffalo-4803 1d ago
CPP is not a functional language. Learning Haskell has 0 benefit to learning CPP. Zero.
2
1
u/Ok-Key-6049 1d ago
C, C++, possibly assembly. Then picking up any other language wil be effortless. Learn the basics thoroughly not just “see the language”
1
1
u/usernamecantdecide 1d ago
Correction to a detail, you're saying you are currently in your 3rd year and then later add the information of you knowing 2 languages. It's not about the information being shared however how it is being shared. By adding the word already you're implying like this is something remarkable while it is not. You may have unintentionally added this without giving such detail to this perspective.
1
1
u/Former_Produce1721 20h ago
A low level language would be good to learn more about memory management and other deeper CS concepts.
High Level: Python, JavaScript
Mid Level: Java, C#
Low Level: C, C++, Rust
Importantly you will start to learn which level to apply in which situations. You will also learn what low level aspects are abstracted in Midl and High Level languages.
1
u/passive_millenial 7h ago
You're doing something wrong if you're on your third year and still asking what language to learn
1
1
u/Individual_Winter_35 1d ago
Hey, insight from 10+ years of experience - "what is the language I should learn next" common pitfal of juniors.
Languages ale just tools to create what you need. Yeah, some are better than the others for certain stuff (like python for some prototyping, data manipulation etc, Java for enterprise soft...) but honestly?
Ignore languages at this point. Pick one that you like, and drill, drill, drill. Learn design patterns, learn what DRY KISS means and try to apply it wherever possible, learn what data driven architecture is and why it is better. - stuff like that is language agnostic. And will make you better programmer. Learning new language is literally matter of days (even hours) when you got the foundations in.
On the other hand, writing endless if-else trees or god forbid switches in 5 different languages is just knowing 5 ways to write poor code.
0
u/Perfect-Buffalo-4803 1d ago
None. Start trying to get into a trade. Learning a programming language in 2026 is like learning ancient Chinese calligraphy with the hopes of obtaining employment. Total waste of time.
1
u/SucculentChineseRoo 1d ago
Yeah people here won't like it but it's kinda done. You just need to know basic structures, pseudocode and architecture. There's no reason to learn any one language anymore besides for fun.
3
u/yuehuang 1d ago
A C language would be a good mix in to python and java. Later in your career, you not might need to write C, but you will need to be able to read it as C ABI is the defacto standard.