6 ms·
The older I get the less I want to be a polyglot. Or at least the meaning of polyglot changes. I used to love learning every new language that I came across, bu
by MatthewPhillips 14y ago
The older I get the less I want to be a polyglot. Or at least the meaning of polyglot changes. I used to love learning every new language that I came across, but now I find less value in doing that. I find it too time consuming to learn new languages and I'd rather be creating things. It's difficult enough to create things in your spare time with the languages you already know. It's enough for me to know one language of each of these types: one statically typed OOP, one dynamic OOP, one functional. Being strong in 3 of those and employers will see that you can learn whatever it is that they use. In your spare time, do what you enjoy, if ColdFusion is that, use ColdFusion.
- khill 14y agoI agree that you only really need to know several types of languages to (a) prove you can learn what you need and (b) get exposed to different philosophies of problem solving. An OO language, a dynamic scripting language, a functional language, and a procedural language are likely enough. I think it's also very important to have some exposure to the full stack. I interview too many programmers who don't understand what is really happening inside the computer when programs are running or who don't have enough knowledge about networking, security, or operating systems to tune and troubleshoot issues. Being well-rounded is important and learning various programming paradigms is only a part of that.
- beagle3 14y agoSame here. I used to eagerly spend time learning every new language I came across - but that was 1988 or so, and the languages were actually different: Lisp, Prolog, Basic, Pascal, C (not that different from Pascal), various assembly languages, SNOBOL, Perl, APL, C++, Python, TCL ; each had different strengths as a language, and "knowing XXX" meant knowing the syntax and some idioms, but mostly grokking the philosophy. I used to write a Tetris game in each language to make sure I actually understand it. But now? most languages are basically the same Java/C# with minor variations in semantics and syntax - but you don't "know" C#/Java or even Ruby or Python these days unless you also know the library/framework ecosystem. And knowing the ecosystem is not about understanding the philosophy - it's about rote memorization. And that takes time and memory, rather than insight and understanding. I'm sticking to C for speed, Python for elegance, and K/J/APL for fun. I really like erlang although I haven't had a chance to work with it. While I occasionally still have to write code in other languages (100 lines in random language every month), looking up the syntax/semantic differences and library documentation feels like a Sisyphean chore rather than acquisition of knowledge.
- moron 14y agoRight, after a while you end up rehashing the same topics with slightly varying syntax. That's only interesting to amnesiacs. I think what you describe is another case of obsessing over the tools themselves rather than building things with the tools. Building is hard, and it's hard in multiple dimensions, where tinkering is fun and interesting. (Yes, puttering around with new programming languages is tinkering)
- danso 14y agoThat's funny, I actually am more drawn to being a polyglot as I get older. Part of this is to keep my mind nimble and myself excited, as I was when I first started learning things as a young adult. Also, I think as I get wiser (I hope), I'm realizing more and more the precept of "when all you have is a hammer." It also helps that I'm decent enough in the things I've specialized in that I can learn new things with the purpose of supplementing the deficiencies in my specialties...which makes learning those new things both easier and more profitable.
- edwinnathaniel 14y agoI'm on the same boat. After dabbling in many programming languages, databases, various Linux and BSD distros, I made up my mind to be productive (solve problems) instead of to keep on learning and use my brain less. These days I tend to be pragmatic and keep a set of tools: Java, JavaScript, and Python (may change to Ruby...), PostgreSQL, Linux (ubuntu, may switch to RH if I decided to pursue RH certification) and try to become extremely proficient in each of them. I'd prefer to be full-stack as opposed to polyglot.
- blacksmythe 14y ago(http://news.ycombinator.com/user?id=MatthewPhillips) "My current interests are in Clojure, ClojureScript, and IndexedDB." Yet it appears that you are keeping quite current with new technology :)
- chc 14y agoThere are lots of other shiny new things that he could have learned. Clojure happens to be a rather practical new language to learn if you already know Java, and ClojureScript has a pretty small hump if you already know Clojure and JavaScript (which, lest anyone forget, is about 15 years old now).
- MatthewPhillips 14y agoYeah, I never said I don't want to learn new things. I still have a desire to be employable, and if something new seems novel I'll look into it. But I have, for example, no desire to learn any new OOP languages (aside from a quick look) until the ones I already know become irrelevant.
- deleted 14y ago[deleted]