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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask YC : What determines command of a programming language?

6 点作者 seren6ipity超过 17 年前
Most of you are great hackers. How do you determine that you have command of a particular language?<p>What kind of problems/ projects you take up while learning a language. I have read on yc that a lot of people start with a project after a quick refresher and learn the language on the go. Are there any standard problems that you attempt to solve?<p>I've been trying to learn Python but feel a lack of direction and an inability to assess my progress.<p>Please share your views.

17 条评论

Xichekolas超过 17 年前
I think I have command of a language when I can write something from scratch without spending much (if any) time in the docs looking up things.<p>How many languages have you learned before Python? The first is always hard, and the second is always the worst, because it's the first time you have to think above the level of syntax, but after that it's much easier. By the time you get around to learning number nine, all you have to conceptualize are the diffs with what you already know, which is a much smaller learning curve. So, to summarize, it gets easier with each one you add to your repertoire.<p>As for problems, I just start with the current one. I usually learn new languages because it seems well suited to a problem I have for some reason. Right now I'm really interested in parallelism, so I'm learning Erlang. I'm working on writing some kind of REST ROA stuff with it (and Yaws), for fun.
评论 #120743 未加载
run4yourlives超过 17 年前
When you can start thinking the problem through in the syntax of the language before you sit at the computer, odds are you've got a pretty good grasp of it.<p>You usually can't think the language if you're still referring to manuals/internet over 50% of the time for syntax/understanding.
评论 #120838 未加载
kevTheDev超过 17 年前
I find that you really just need to find a problem that I myself am interested in solving.<p>As part of the process of completing the project all kinds of problems will come up simply due to the fact that you don't know the language; and you know what? You just solve them and carry on and before you know it, suddenly you're just writing in the language without thinking.<p>The idea of solving standard problems to me does not appeal, but only because they sound like textbook exercises, but really whatever does it for you.
ubudesign超过 17 年前
If you can handle multi-threaded server code as well as client UI code, you are very much good in that language. but the important measure is not a particular language, rather your knowledge of algorithm, oo concepts, design pattern, etc. And some languages are a must. i.e sql
riobard超过 17 年前
I'm practicing Python while solving problems from Project Euler. I think it is a really efficient way to strengthen your LANGUAGE skills. Try very hard to re-write your solutions in an elegant and clean way.
评论 #120744 未加载
randrews超过 17 年前
I think this is related closely to another popular question: how do you determine that someone <i>else</i> has command of a particular language?<p>I think the point that I would pick is when you start feeling constrained by it. If you start wanting to do things the language can't do, or can't do well, and you can explain <i>why</i> it can't do it well, then you have explored pretty much all of it.<p>That's why my favorite interview question is "So you're applying to program in FOO. What's something you hate about FOO?"
tlrobinson超过 17 年前
I really need to write several small or one moderately sized project in a new language to get the feel of it.<p>I've been trying to learn Python and Lisp without any real project to hone my skillz on, whereas with other languages I actually had projects that sort of guided me.<p>So I suggest finding a project that can be written in the language you want to learn, and start writing it.
tel超过 17 年前
When you're first leaning languages, "command" of a language probably ends up being defined as a solid working knowledge of the syntax.<p>However, the real deal is when you understand the solution pattern suggested by the language. When you start to break down problems into objects, functions, or types before you even touch a keyboard, then you've really gotten somewhere.
jamesbritt超过 17 年前
"How do you determine that you have command of a particular language?"<p>When you're answering more [newsgroup|mailing list|forum] questions than you are asking.<p>(And both are good ways to attain command of a language.)
simplegeek超过 17 年前
I think it's about the <i>flow</i> e.g. you're in the flow if you can arrange the whole thing in your head(i.e. developing a habit of thinking in a language), you don't have to look to manuals and most importantly if you can reflect upon the language (at least I've observed this pattern among great hackers I admire). You can do amazing things if you achieve the <i>experiential-mode</i> but as I've observed people that I admire it's the <i>reflective-mode</i> that takes you to the next level.
cousin_it超过 17 年前
Skip the learning phase, go straight to useful work. Sometime ago I had to render some maps with Mapnik (<a href="http://mapnik.org" rel="nofollow">http://mapnik.org</a>) which is driven by Python scripts. I didn't know any Python, so I just pasted an example from the 'net and started reworking it to suit my needs, experimenting and reading docs whenever I got stumped. Quickly picked up enough Python to write my own scripts, solve other tasks. For me it's the only way to learn.
run4yourlives超过 17 年前
Speaking of python, have you tried applying your skills using a framework like django? That might be a good way of understanding how much comes naturally, and how much doesn't.
评论 #120844 未加载
dood超过 17 年前
Reading other people's code can be a good way to assess command of a language. I've needed to dig into a number of Python packages over time, and have found it quite noticable how much more quickly and completely I'm able to grok such code as my command of the language increases.
ivankirigin超过 17 年前
output.<p>If you can solve your problems with the language, you command it.
评论 #120802 未加载
stevecooperorg超过 17 年前
a possible answer would be "when I've code that someone outside my team is using." Deliver a web app, a library, an interpreter, a game, and it's reasonable to say you're over the hump.
edw519超过 17 年前
"Most of you are great hackers."<p>Are you sure you want to make that assumption?
评论 #120837 未加载
edw519超过 17 年前
Ask the poor sucker who has to maintain your code if he thinks you have command of that language. If he says yes, then good for you. If he doesn't, then find out why not.
评论 #120878 未加载