TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

If you have to learn just one programming language

35 点作者 r11t大约 15 年前

14 条评论

swombat大约 15 年前
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 未加载
AndrewO大约 15 年前
<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 未加载
thenduks大约 15 年前
He lost me when he started talking about JavaScript and implied it is obsoleted by GWT.
评论 #1345493 未加载
sosuke大约 15 年前
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 未加载
chc大约 15 年前
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?
davidw大约 15 年前
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?
Kilimanjaro大约 15 年前
I'd pick Javascript.<p>Code and reach is all I need to be rich.
评论 #1345012 未加载
aaronblohowiak大约 15 年前
He eliminates Smalltalk because of speed but leaves in Ruby? Ummmmmmm. What?
评论 #1345045 未加载
评论 #1345109 未加载
k33n大约 15 年前
Follow this author's advice unless you need a job.
评论 #1345110 未加载
Zak大约 15 年前
<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_P大约 15 年前
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?
Periodic大约 15 年前
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.
drallison大约 15 年前
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).
carbocation大约 15 年前
... 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.