DEV Community

pypdeveloper
pypdeveloper

Posted on

Should you learn multiple programming languages?

Each programing language has its own strength and weakness. So there remains a question should you learn different programming languages. I think learning different programming languages is good in away. If what you want to learn and what language will be your main programming language. Touch languages so when you do need it you know the basics and use the documentation for parts that you don't understand. I would say Master 1 or 2 programming languages and touch their surface to all the programming languages in the world.

Top comments (9)

Collapse
 
pypdeveloper profile image
pypdeveloper

Python might is good at data science, but John is a JavaScript developer. By learning python when he needs to work on a data science he can just learn the libraries and he is good to go. Use your spare time to learn languages that your company uses or you think will be beneficial in the long term.

Collapse
 
cappe987 profile image
Casper

"A language that doesn't affect the way you think about programming, is not worth knowing."
- Alan Perlis

I really like this quote. Learning new languages can be a great experience and teach you to think in different ways. But that is only true if it exposes you to new concepts and thought processes. If you already know C# then there isn't much point in learning Java because it's very similar, and many other traditional OOP languages can also be included in that group.

By only touching languages all you will be learning is the syntax, which can easily be learned at a later point anyway if you ever need to use it. Your profile says that you are a self-taught developer so I'm saying this since it's a pitfall for many beginners: don't learn a second language until you are very proficient in the first one. Otherwise, you will be filling your brain with syntax instead of logical thinking.

Here are some languages from some different categories that I can suggest learning:

  • C (procedural programming, low level)
  • C#/Java/Python (Object-Oriented Programming)
  • Haskell (Pure functional programming)
  • Clojure (Also functional programming, but a bit different)
  • SQL (Database development)
Collapse
 
sohang3112 profile image
Sohang Chopra

I think you should add some items to your list:

  • Prolog (Logic Programming)
  • APL (or derivatives, like J / K / Q) - Array Based Programming
Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

I don't have permission to view or post anything?

Collapse
 
pypdeveloper profile image
pypdeveloper

Right on it.

Collapse
 
pypdeveloper profile image
pypdeveloper

It should work now

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

I think it is more of

  • Employee or startup?
  • Got a coworker / colleague?
Collapse
 
cullophid profile image
Andreas Møller

Definitely. You learn a ton from learning a new programming language. It doesn't matter if you are actually gonna use it.