你最喜爱的编程语言不够好
admin
2023-07-31 00:48:07
0

英文原文:Your favourite programming language is not good enough,翻译:外刊IT评论

我的《为什么Python对程序员重要?》这篇博客引来如此多的评论,让我颇为意外。大多数的评论是正面的,但同时多少也都带点不太积极的色彩。我发现,这些评论反映出的一个很突出的问题是,程序员如何看待编程语言:他们去追求完美的语言,热爱它,保护它。为什么如此多的程序员会对他们最喜欢的编程语言如此感性化?试想,其实世上没有哪种语言能够完美的把你的脑子里的思想转变成机器代码,所有的语言都有一定的局限性——它们都会限制你的思想的发挥或不能让机器的充分的施展能力。

我相信,程序员热烈的去为某种语言编程辩护的行为,其主要的一个原因就是:懒惰。当然,优秀的程序员通常是很懒惰的(他们喜欢让所有的工作都能自动 化完成),但我说的这种懒惰是特指的,是非常不好的懒惰——懒得去学习。如果我最爱的语言是最好的,或只要不比其他语言差,我就不需要花时间和精力学习新 的语言了。

这种现象主要的问题是,不仅你不可能找到一种完美的语言,而且当你仅习惯于一两种语言,仅满足于一两种语言后,你解决问的思路也就会仅限于这一两种语言能够实现的方式——如果你会的这一两种语言很相似的话,属于同一种语系,问题就更严重了。

当你解决一个问题需要选择一种语言时,尽一切可能,选择一种你感觉能最胜任的语言——最强大的,效率最高的,最适宜的,拥有最多程序库的语言。如果 你是一个很认真的程序员,而不是那种随便搞搞的程序员,你就需要去学习新的语言,你需要抛弃这种认为这种语言比其它语言都好的思想。所有的编程语言都各有 利弊,没有一个是完美的。我们可以说,某种强于其它语言,但没有一种语言会擅长做任何事情,没有一种语言会样样都好。Python有其自身的问题(我指的 不是它的动态类型),各种Lisp方言也是这样(我指的不是它们的太多的括弧),Haskell语言也是(人们公认它有很多奇异之处*)。

学习新的语言。学会不要去盲目崇拜某种语言,学会不要去为“你的”语言辩护、反驳所有的批评。如果你觉得还不到火候,读一读《计算机程序的构造和解释(Structure and Interpretation of Computer Programs)》,学习一种Lisp方言——它会让你看清楚,让你感受到其它语言的局限性,这种痛苦会让你成为一名更好的程序员——不论你是什么语言的程序员。

*我是在开玩笑。事实上,Haskell将是我下一种要学习的语言。


相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...