今天在开源中国社区看到这样的一篇文章:怎么样才算是真正学会了一门编程语言。小编个人认为很有价值。特分享。 对一种语言的了解程度有很多等级。最基本的一种是只知道它的语法。然而,我不知道是不是当你知道一种语言的语法,特有结构,以及能解读用这种语言编写的基本程序时你就可以称作会这种语言。我可以说我对Brainfuck 和Piet非常的了解,尽管我从没用这种语言写过一行程序(我是用一些工具生成代码,或类似的编程)。 其次,当一个人知道一种语言的某些生僻的结构和语法时,他可以说他会这种语言。知道C的extern和volatile可以有助于你完成某些任务,但这要看你干的是什么工作了。不管怎样,从这种水平往上看,任何一个人,只要他能看懂一个用这种语言写的代码文件里50%以上的东西,那他就可以说自己会这种语言了。 下一个层次的水平表现为掌握这种语言里所有的代码库类库的情况。例如,我知道有个家伙几乎知道几乎所有的Python的模块包。对最新的包除外,但他的知识已经足够来鉴别在一个任务上采用哪个程序包更好。 最后,我知道到有两个人(只是在网上),他们不仅了解那种语言所有代码库,同时也知道所有相关的工具。就Haskell而言,包括 Cabal, darcs 和 Hackage internals等,当然,他们知道的远非只有这些。 现在,问题还是没有答案。把问题重新复述一下可能变成这样:当你对一种编程语言必须了解多少时,你才能把它写到你的简历上? 附言:想起来Perlis在Epigrams on Programming这本书里的一句话:如果一种语言没有对你的编程思维有任何影响,那它是一种不值得学习的语言。根据这个,是否是说,当你的编程思维改变了,你才能说你真正学会了这种语言。 (责任编辑:admin) |