TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

If you have to learn just one programming language

35 pointsby r11tabout 15 years ago

14 comments

swombatabout 15 years 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.<p>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?<p><i>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)</i><p>If you want to devote all your energies to becoming a proficient and productive programmers, you will need to:<p>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).<p>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.<p>3) Then, hone those few languages (there's gonna be more than one) to a sharp point.<p>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.<p>A one-language programmer is like a one-legged stool.
评论 #1344909 未加载
评论 #1346162 未加载
AndrewOabout 15 years ago
<p><pre><code> if (you_have_to_learn_one_language) { make_highly_subjective_claims(); eliminate_good_candidates_for_specious_reasons(); arrive_at_questionable_conclusion(); } else { broaden_your_understanding_of_programming(); be_able_to_evaluate_multiple_solutions_for_problem(); } </code></pre> The underlying premise is flawed. No one has to learn just one language and anyone who stops at one is limiting themselves to being a journeyman programmer for the rest of their career. At that point they should be asking "do I really like programming?" and if not, move along to something else.<p>A much better question is "If you have to start with just one programming language...".
评论 #1344944 未加载
评论 #1344923 未加载
评论 #1390610 未加载
thenduksabout 15 years ago
He lost me when he started talking about JavaScript and implied it is obsoleted by GWT.
评论 #1345493 未加载
sosukeabout 15 years ago
I'm learning C# so I've got a little bias but the author says that C# never really took off? He doesn't even list it as failing one of his criteria. He says in the comments later he bases it off of it's listing here <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" rel="nofollow">http://www.tiobe.com/index.php/content/paperinfo/tpci/index....</a>. Baloney I say.
评论 #1344943 未加载
评论 #1345284 未加载
chcabout 15 years ago
I didn't understand his reasons for eliminating Haskell and OCaml. It's not even that his reasons were subjective like with a lot of the other languages — he just didn't offer any. He names a bunch of things Scala can do that they can also do and then goes, "So I'm eliminating Haskell and OCaml." Like, does he not realize those languages can do monads and XML processing?
davidwabout 15 years ago
Wow, that dude is going to get flamed. Maybe he'll win a prize for pissing off the most advocates of different languages in one go?
Kilimanjaroabout 15 years ago
I'd pick Javascript.<p>Code and reach is all I need to be rich.
评论 #1345012 未加载
aaronblohowiakabout 15 years ago
He eliminates Smalltalk because of speed but leaves in Ruby? Ummmmmmm. What?
评论 #1345045 未加载
评论 #1345109 未加载
k33nabout 15 years ago
Follow this author's advice unless you need a job.
评论 #1345110 未加载
Zakabout 15 years ago
<i>I will eliminate Lua [because it is not a general purpose language]</i><p>Umm... what? It's really hard to take anything from this article seriously after reading that. Other gems include ruling out Clojure purely on the basis of syntax, Objective C because "it is mainly used in Mac OSX and iphone software" and Javascript "mainly for the same reason we don’t program in assembly any more — availability of highly optimizing compilers".
S_A_Pabout 15 years ago
If I had to learn 1 language, I would go to Monster, Dice, whatever job site and search- On Monster.com looks like java is the big winner in Houston Tx, followed by C++, C#, VB, and javascript. Lua and scala are pretty much a great way to be unemployed in this city.<p>Job Search Sorry there are 0 scala jobs<p>Job SearchPer page Previous 1 2 3 4 Next 85 c# jobs in Houston, TX<p>Job SearchPer page Previous 12345 Next 120 java jobs in Houston, TX<p>Job SearchPer page Previous 1 Next 6 objective c jobs in Houston, TX<p>Job SearchPer page Previous 1 2 3 4 Next 90 C++ jobs in Houston, TX<p>Job SearchPer page Previous 1 2 Next 30 php jobs in Houston, TX<p>Job SearchPer page Previous 1 2 3 Next 73 VB jobs in Houston, TX<p>Job SearchPer page Previous 1 Next 1 Lua jobs in Houston, TX<p>Job SearchPer page Previous 1 2 3 Next 65 javascript jobs in Houston, TX<p>Either way, why would you want to limit yourself to just one- even if its just for the sake of argument?
Periodicabout 15 years ago
I like to think of programming languages as tools. You should always pick the right tool for the job. Otherwise, someday you will pick up your hammer and realize not everything is a nail.<p>Language design is all about trade-offs. Some languages are better at string processing, some make it easy to write quick scripts, some have good framework support, some have high speed, none has it all.
drallisonabout 15 years ago
I think that programming languages are tools which aid the development of programs, but the program itself is really independent of the programming lanauge. I know that I write the same program no matter what the compiler (or assembler).
carbocationabout 15 years ago
... then learn the one that everyone around you uses. This often extends to entire fields (genetics, etc).<p>Of course, it's never true that you have to learn just one language, and you're handicapping yourself if you arbitrarily do.