Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


怎样才算会一种语言?

我的一位老师曾对我们说,我们之所以现在还不知道Matlab这种语言,是因为我们不知道有个叫“参考资料”的命令是干什么用的。昨天,我在Haskellers注册了一个帐号,我发现Haskell语言里有很多东西我根本没听说过。这件事促使了我写这篇博客,我希望能给下面的这个问题找到答案: «你对一种语言了解多少才能肯定的说你会这种语言?»。

 

对一种语言的了解程度有很多等级。最基本的一种是只知道它的语法。然而,我不知道是不是当你知道一种语言的语法,特有结构,以及能解读用这种语言编写的基本程序时你就可以称作会这种语言。我可以说我对Brainfuck 和 Piet非常的了解,尽管我从没用这种语言写过一行程序(我是用一些工具生成代码,或类似的编程)。

其次,当一个人知道一种语言的某些生僻的结构和语法时,他可以说他会这种语言。知道C的extern 和 volatile 可以有助于你完成某些任务,但这要看你干的是什么工作了。不管怎样,从这种水平往上看,任何一个人,只要他能看懂一个用这种语言写的代码文件里50%以上的东西,那他就可以说自己会这种语言了。

下一个层次的水平表现为掌握这种语言里所有的代码库类库的情况。例如,我知道有个家伙几乎知道几乎所有的Python的模块包。对最新的包除外,但他的知识已经足够来鉴别在一个任务上采用哪个程序包更好。

最后,我知道到有两个人(只是在网上),他们不仅了解那种语言所有代码库,同时也知道所有相关的工具。就Haskell而言,包括 Cabal, darcs 和 Hackage internals等,当然,他们知道的远非只有这些。

现在,问题还是没有答案。把问题重新复述一下可能变成这样: «当你对一种编程语言必须了解多少时,你才能把它写到你的简历上?»

附言:想起来Perlis在Epigrams on Programming这本书里的一句话:«如果一种语言没有对你的编程思维有任何影响,那它是一种不值得学习的语言。»。根据这个,是否是说,当你的编程思维改变了,你才能说你会了这种语言?

发表评论


最新评论

我也要发表评论

来自 - 广东广州 的 MSIE/Windows 用户 2015-1-31 00:21
1
来自 - 广西来宾 的 Chrome/Windows 用户 发表于 2014-12-24 11:27 的评论:
我会中文吗?
2
linux 发表于 2014-12-24 15:13 的评论:
好吧,这里说的是编程语言。。。
3
来自 - 湖南长沙 的 MSIE/Windows 用户 发表于 2015-1-30 09:13 的评论:
也算吧~感觉本文的说法,同样也通用与对语言的认识的鉴定。假如,一篇普通文章中,50%以上的意思你不懂,你对这门语言还真的有待学习或者其他~
我不认为我会任何一种语言包括中文,不过我写简历的时候不会说出这个真相
5 回复
来自 - 湖南长沙 的 MSIE/Windows 用户 2015-1-30 09:13
1
来自 - 广西来宾 的 Chrome/Windows 用户 发表于 2014-12-24 11:27 的评论:
我会中文吗?
2
linux 发表于 2014-12-24 15:13 的评论:
好吧,这里说的是编程语言。。。
也算吧~感觉本文的说法,同样也通用与对语言的认识的鉴定。假如,一篇普通文章中,50%以上的意思你不懂,你对这门语言还真的有待学习或者其他~
7 回复
yongci 2014-12-27 13:36
马马虎虎
7 回复
子莮先生 2014-12-25 03:33  新浪微博网友评论
我也得反思下这个问题,似乎语法也没掌握全,经典框架模块也没能掌握,这得问问自己在干些什么事了……不过看到图形化编程还真得说说,虽说拖拽容易,但众多配置还是要记参数还得记得在哪操作,学习成本并不低,对于开发还是书写命令最合适。
回复
linux 2014-12-24 15:13
1
来自 - 广西来宾 的 Chrome/Windows 用户 发表于 2014-12-24 11:27 的评论:
我会中文吗?
好吧,这里说的是编程语言。。。
回复
来自 - 广西来宾 的 Chrome/Windows 用户 2014-12-24 11:27
我会中文吗?
回复

热点评论

来自 - 湖南长沙 的 MSIE/Windows 用户 2015-1-30 09:13
也算吧~感觉本文的说法,同样也通用与对语言的认识的鉴定。假如,一篇普通文章中,50%以上的意思你不懂,你对这门语言还真的有待学习或者其他~
7
yongci 2014-12-27 13:36
马马虎虎
7
来自 - 广东广州 的 MSIE/Windows 用户 2015-1-31 00:21
我不认为我会任何一种语言包括中文,不过我写简历的时候不会说出这个真相
5
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。