3 ms·
A good question would be who learns more: someone who is an expert at one language and toolset, and continually uses it for investigation of new ideas, or someo
by trapper 18y ago
A good question would be who learns more: someone who is an expert at one language and toolset, and continually uses it for investigation of new ideas, or someone who continually changes his language and toolset. Given it takes thousands of hours to become an expert at any combination of language and toolset, I would rather spend my time doing great things than learning new tools. Will you gain exponentially more programming skill by learning haskell or erlang, or should you invest the same time learning another domain (e.g. chemistry, biochemistry, finance etc), and solving new problems in those domains? I would suggest that the latter provides more brain expansion.
Another way to look at it is that programming isn't hard in and of itself. The hard part in any software project is understanding the problem. If all you do is practice programming, and ignore the real world it's likely you will be a great programmer, but make beginner mistakes when trying to solve problems. I have seen brilliant programmers get completely schooled by domain experts with excel macros when it comes to solving some of these problems.
It's the difference between programming for programmings sake or programming to solve problems.
- pfedor 18y agoI agree with everything you said but I would take it even further. One doesn't even have to go to chemistry or finance to find better things to invest time in than learning new tools. There are plenty of areas within the domain of computer science/software engineering/hacking that are more worthy of effort than learning a new programming language (let alone a new text editor or version control system.) How about learning how to write code that matches regular expressions in guaranteed linear time. Or implementing a compiler. Or looking at the networking protocols used by QuakeWorld and how they are different from the protocols used by the original Quake and why. I'm not against learning new programming languages. Everyone should learn a few different languages. I just think many people fetishize them out of proportion.