Learning Multiple Languages
This cluster debates whether programmers should learn additional programming languages for broader insights and flexibility or focus on mastering a few, domains, frameworks, or core principles instead. Opinions range from embracing polyglot programming to prioritizing depth over breadth.
Activity Over Time
Top Contributors
Keywords
Sample Comments
I guess I am an outlier. You should learn both languages and any other you encounter. Learning a programming language (after the first few) is not particularly difficult. Each language gives some small insight into how a program (or programs) can be structured. It pays to learn a few assembly languages as well to learn how abstract programs can be mapped onto hardware. Focusing on a particular language to enable career growth is not rational behavior.
Instead of exploring different languages learn about different fields and domains. The language may be basically the same (outside of some more esoteric ones), but Data Science is a very different experience from Web Dev which is different from Embedded Systems. Get out of your comfort zone a little.
I'm going to suggest that you don't learn a new language, but that you learn how to deal with broader issues and to think about problems.Go deeper, not broader. Another language can help you learn about stuff, but knowing languages is less important than understanding how they are used.Learn about event handling. If you have toyed around with C, get an arduino and learn about hardware interrupts. Learn about concurrency and distributed systems. learn about semaphors and locks
There are lots of tools and even lots of toolboxes.What do you like to do? What can you find work for?If you know other languages, you can shift easily. It's not like you have to invest years into a new language if you're already proficient with others. You're not going to forget if/else logic, what functions do, or object oriented basics. Most languages just have their own syntactic sugar on all of that.Learn Python.Learn Node.Learn Julia.Be flexible.
Life is about making choices and perhaps knowing your limitations as a human being.You can either be someone who knew various programming languages and wrote a few small single-purposed libraries (and jump the wagon to another new languages) or knew two or three programming languages and build something big.It's a choice. Ask yourself if you are truly interested at these languages or is it because of the HN side-effect (hang out with a crowd with certain belief, you'll become them or want
Learning a third language after C# and Python will make you a programming polyglot regardless, so why plan to artificially limit yourself to three?Message passing Ruby, homoiconic Lisps like Clojure, or the diagramatic J is each, like the languages you know, better for some things than others. Finding "the language of your soul" doesn't start with a specification. Comfort with picking up new languages is a sound long term skill.Good luck.
How about focusing on a domain rather than languages? Say you're interested in Natural Language Processing. Pick a language and become an expert in NLP only. You'll be valued for your domain knowledge even if you're not that good of a programmer. That way you're not pressured to pick up a handful of languages, which pretty much do the same thing anyway.
Dont be a polyglot, it is read to hell! Learn only two languages which are stable, use similar stack and complement each other (C and Lua; C++ and Python; Java and Clojure). And become _best_ at those two.
I think it's worthwhile, if only to see what all the hype is about. You may like it or you may not. That's a decision you will benefit from being able to make, though. If you know enough tools to be able to approach a particular problem and then assemble your tech stack based on which of those tools solves it the best, or to your highest liking, then you're better off than you were when you only had C# to choose from.You most likely won't find a company that is willing to pay you while you le
I wouldn't stop learning new languages. They are just tools, and knowing several of them lets you better judge how to face a new project/problem. I was (in fact, am) a happy Rubyist, but had to start working with Node and learnt to love the beauty of event-driven programming and prototypal inheritance. Now I'm learning Elm, as I'm quite interested in functional programming and event sourcing. I wouldn't say that any language is better that another, but knowing some of th