3 ms·
If you have to learn just one language, and you're forbidden from learning another, you'll mentally hobbled, a technical cripple, like someone who's been forced
by swombat 17y ago
If you have to learn just one language, and you're forbidden from learning another, you'll mentally hobbled, a technical cripple, like someone who's been forced to express their thoughts using only 5'000 randomly selected words of the English language.
The premise is completely flawed. No single language is enough to "be a programmer". You need other languages, if only to understand what your language does. And you need them because no language is the best tool for every job. Should a plumber choose "just one tool" to do their job with?
if you want to devote all your energies to becoming a proficient and productive programmer and want to learn one powerful, freely available, high level general-purpose language (not domain specific)
If you want to devote all your energies to becoming a proficient and productive programmers, you will need to:
1) Learn at least half a dozen different languages over the course of a few years or more (and by "learn" I mean learn them well enough to do something productive in them).
2) From this, arrive at a set of preferences for which languages you feel most productive in for the tasks which you tend to do.
3) Then, hone those few languages (there's gonna be more than one) to a sharp point.
4) Keep monitoring new language developments and get ready to jump ship if a better language comes along, which replaces one of your current languages favourably.
A one-language programmer is like a one-legged stool.
- plinkplonk 17y ago"The premise is completely flawed. " Sure,(and I think your "algorithm" is better than the author's for choosing which langauge to "deep dive" into), but the whole point of a Thought Experiment is to work off a "crazy" (by whatever logic) hypothesis to see what kind of thinking results. "If I were to hitch a ride on a light wave what would I see? ". "If I knew I was going to die exactly a year from now what would I choose to do?" etc. The crazy hypothesis is taken as an artificial focus to spur thinking. That said, the author seems a bit clueless (and I am not defending him or his logic). I just wouldn't dismiss the idea of a thought experiment so easily. So yes, if you could learn only one langauge which one would you learn? ;-) (HN generally has better commentary than the article under discussion. This effect is particularly marked when theit is about some dumb submission that for some reason sparks great discussion. My answer (fwiw) - C or Haskell. My biggest (programming) fear is working with dumb people on dumb projects. In the days of Java and scripting languages like Python or Ruby, either would be used (by and large) only for very unusual/interesting projects. Most of my work today is in converting Machine Learning research into workable code. The language used is is irrelevanmt to my clients, so eithr would work.Side projects would tend to be more interesting with either of these. C would give me more job opportunities and many nice Open Source projects to jump into than Haskell I guess, but Haskell might be more mindbending (and fun). And it has a great community of very bright and nice people.)
- AndrewO 17y agoWell, let's not forget that the pay-off for that particular thought experiment was relativity. :) I (and possibly others) would probably be a little less cranky about the whole article if he'd followed his steps rigorously and arrived at something interesting. And I don't mean it has to be revolutionary like relativity, but something better than just highlighting his new favorite language.
- plinkplonk 17y ago"Well, let's not forget that the pay-off for that particular thought experiment was relativity. :)" I agree :-) . But even Einstein didn't know what he would end up with before the thought experiment. "I (and possibly others) would probably be a little less cranky about the whole article if he'd followed his steps rigorously and arrived at something interesting." I agree that the article is completely tangled and confused and not worth the time spent reading it. I was just using the question posed (and ignoring the source and the accompanying article) to do some thinking to see if anything interesting results.
- aaronblohowiak 17y agoHe dismisses C because "You probably already know it." and yet it is a post about a single language to learn. That's cloudy thinking.
- julius_geezer 17y agoIt's a bit like "Desert Island Disks": if you are washed up on an island, and by some odd chance you have precisely 10 recordings, and ... A silly game. As you say, the monolingual programmer is unlikely to be proficient. How many professional musicians are competent on exactly one instrument? (Admittedly, they may be professional-grade on one only.) (Though a one-legged stool, otherwise "a shooting stick", has its uses.)