Do you think a person with basic knowledge of multiple programming knowledge has more advantage as compared to others?
A single programming language cannot solve all the problems. It is a good idea to know at least the basics of multiple languages so that you can make better decisions when it comes to solving a problem.
Also, learning a new language may introduce you to new patterns, concepts which you can use in your usual choice of language.
If a single programming language is and will be enough for your work and communications, then knowing more languages may be useless. But it does and is very useful if you need to. Languages today are evolving all time.
Take JavaScript for example, it's learning features from all kinds of programming languages and in the early days, due to the lack of guides, reading guides on other languages can be helpful. Even in some cases, you need to do it by your own to learn skills in another language and do it in JavaScript. That's really touch story since you need to learn concepts and terminologies in various kinds of languages, just to get it right.
In short, more languages will help you know the precent of the discoveries in the history, and help you foresee the future of a single language.
Everyone here has already answered your question... So I'll give you a counter-example.
When I see a resume from someone with, say, 4-5 years experience and they list every technology under the sun, I know they are full of crap. So just make sure you truly know the programming language before you claim you know it.
Just basic knowledge of multiple languages won't work for long.
You see it's like a real-world mechanic.
"Can repair every car - specialized in Ferrari engine"
I believe same goes to us the Software engineers.
Recently, I had the chance to Interview Azat Mardan and he gave one very important tip.
"Learn multiple languages but master at least one"
If you consider me. I know/coded for a while in following languages.
But if you ask me what is one thing you are master at. I would say Node.js and then C++.
Hope it helps!
Short answer: The more languages you know, the easier it is to learn a new one. You start to see things as concepts rather than specifics to a language.
I think it's important to have one as your primary, but it's valuable to have an understanding of the other languages. Every time you learn about another branch of similar technology, it reinforces the understanding of your primary language.
It's often that fundamental concepts are the same, and you're always thinking "in my primary language I would..."
Also, it looks really cool on your resume to display the different languages and frameworks like merit badges.
In my experience it tends help our understanding of the "the right tool for the right job" and tends to give you a broader perspective on a languages strengths and weaknesses.
Hmm I can only talk about my experience.
For me it's much easier to grasp different concepts I've seen in another language for example channels in go I walked to a java guy asking him how he does it in his language so I could specifically ask for something I did not know the term in the other language.
or how generators are kinda state-monads based on functional languages ... :)
So for me the advantages are concepts which can transcend other languages ! :)
Well, depending on the languages. Every language have their goal, and not is the same php and java, or go and erlang. If you know different languages you can reach different approaches and different solutions i think, nowadays with all the microservices ecosystem I think it's nice to know 2 or 3 different languages.
Brandon
Frontend Developer
Nathaniel Ng
I think the general principle in any kind of coding project is to get the job done, preferably in the most efficient and least error-prone way. Being proficient in more languages makes it easier to choose the most appropriate language for the task. However, it isn't a good idea to spread yourself too thin. For me, I've chosen to focus on just two: C/C++ for number crunching, and Python for scripting (and if the situation calls for it, to even consider mixing Python and C/C++). Then I add to that some basic-to-intermediate-level bash scripting and HTML/CSS/Javascript, because these serve a somewhat different kind of purpose than the other two.