3 ms·
I think it's just important to know a little about a wide variety of things as it is to know a lot about a few specific things. Breadth and depth are both valua
by samdk 16y ago
I think it's just important to know a little about a wide variety of things as it is to know a lot about a few specific things. Breadth and depth are both valuable.
I ended up doing something similar to what this author tried to do starting in my sophomore year in college (although I didn't have any particular goal in mind when I started). Over the course of about a year and a half, through some combination of classes and my own projects, I programmed Standard ML, Prolog, Haskell, PHP, Ruby, JavaScript, x86 Assembly, Scala, SuperCollider, and Scheme for the first time. At that point, all I really knew were Java and Python.
I think it was an immensely useful experience for several reasons. I've now had some exposure to most/all of the major programming paradigms (and some less common ones too). A month is enough time to begin to get a feel for a language and its idioms, and being able to think and solve problems in different ways will make you a much better programmer even if you do end up working mostly in one or two languages.
Learning how to learn a programming language quickly is also an exceptionally useful skill. New languages don't scare me any more--I can usually learn enough to start hacking on something in a couple of hours, and enough to not be writing completely horrible code in a couple of days. And it's now very rare that I sit down to read a piece of code and can't figure out what's happening because I'm not familiar with the language, which is very helpful when I need to work on something I've never seen before.
That all said, there's a reason I didn't continue doing that indefinitely. Learning one or two languages really well is also very important.