学习多门编程语言可以避免自己的思维被一种语言所限制

来源:互联网 发布:黑龙江消防网通知通告 编辑:程序博客网 时间:2024/06/07 11:36
 

1. 学习多门编程语言可以避免自己的思维被一种语言所限制

《黑客与画家》:如果你长期使用某种语言,你就会慢慢按照这种语言思维。在《CTMOCP》一书也有一个例子:学习Java的人认为 concurrency很难操作,并且很消耗计算机资源,于是会尽量避免使用 concurrency;但实际上,如果语言本身能够很好的处理concurrency,就可以把它变成一个很好的工具——比如Unix的“管道”就是一种很好用的concurrency形式。这和生活中实际用着的语言很类似——不同文化语言的差异,会限制这个文化中的人想问题的方式(这里有很多例子:http://beyondidea.cn/index.php/archives/501 )。更激烈的一个例子,是在小说《1984》里面,当局通过限制人们的用词来限制人们的思维——所以大家都被强迫讲“新语”。

2. 学习多门编程语言可以找到更加适合解决问题的那一种语言

在《CTMOCP》一书中,对于一个编程语言中一个新概念出现的原因,做了很好的说明:a new concept is added when programs become complicated for technical reasons unrelated to the problem being solved(在编程语言中一个新概念的出现,通常是因为在要解决的问题中,出现了一些 和问题本身无关的需要用复杂的技术手段解决的问题)。我想,这种“新概念”,在浅层次可以是一些人们常用的API,在深一点的层次,可以是一种大的编程概念,比如面向对象,递归,解释性编程。通过合适地利用这些新概念、API,可以更加容易的解决一个现有问题。

3. 一门良好的语言能更清晰的描述问题,从而加快编码和沟通的速度

在《黑客与画家》里面,这句话写得很好:一个操作所需的代码越多,就越难避免bug,也越难发现他们。对于我的一些低级应用来说,在用惯了Java的高级库函数之后,如果去用C做一些ACM题目,是一件很困难的事情(同时也是因为自己对于C++不够了解)——算法可以想出来,但对于基本的数据结构,比如哈希表、树、栈 等等,都需要自己来实现——随便一个小错误都会导致bug,无疑增加了debug的难度。

北大青鸟IT教育成立于1999年,致力于培养中国IT编程紧缺型实用人才,10多年来为中国互联网行业输送了大批实干型IT编程技术人才。近年,为解决大学毕业生就业软件行业难的问题,北大青鸟研发专门适合大学毕业生的北大青鸟学士后课程(包括java软件工程师、.net软件工程师、android软件工程师、php软件工程师)。

原创粉丝点击