不愿将多种编程语言杂糅在一起?可能你还没意识到而已

英文:http://www.infoworld.com/d/data-center/dont-want-mix-programming-languages-you-already-do-239907

之前我曾经在一篇博文中就多语言开发的问题进行过探讨,这一周来很多朋友发来了评论与邮件,其中自然不乏支持与反对的声音。其实这也早在意料之中,此类争议性话题总会带来两个不同阵营,双方分执一词吵个不可开交。

我实在弄不清楚为什么事情总要变成这样,也许这一切早在我们的孩提时代就已有征兆:那时候偏爱雪佛兰品牌的小孩儿会在福特汽车上小便,而支持福特品牌的小孩儿也乐于用污物糊雪佛兰一熊脸。也许随着年纪的增长、我们不会再纠结于超人和蝙蝠侠谁更厉害,但类似的争论却仍然经常性、持续性出现在我们身边。

我们往往会对自己“最偏爱”的语言产生过度依赖,对于任何人来说挣脱自己熟悉的一切、踏出迈向未知领域的步伐都相当困难。我们都喜欢躲在自己选定的“shell(壳)”里平静生活。从通用的Bash shell转向Zsh确实能让我们接触到一个迥异于前且突破了思维惯性的新世界,但由此带来的陌生感、失落感以及学习过程所必须投入的宝贵时间都不免让人感到恼火,有时候我们甚至宁愿抛开这一切、再度回到Bash的怀抱。这并不难理解,毕竟不是每个人都拥有充足的时间来推翻自己过去几十年中积累的经验、下定决心从头学起——无论最终成果有多么诱人,这样的成本都实在太过高昂了。

然而在不同编程语言之间游弋对于开发人员来说是一种非常理想的自我提升方式,这是永远颠扑不破的真理。无论是编程语言、shell还是应用程序,我们总是会选择那些自己最为熟悉的命令及实践方式,而且一旦建立起基本工作习惯、我们就再也不想离开这个温暖而舒适的安乐窝了。

举例来说,今天在使用Vi编辑器的时候,我仍然习惯性地连敲三次“w”键来将光标向前推向三个词距,或者按下“0”来直接将光标移至本行末尾;我当然知道可以使用“3w”或者“)”这类更为简洁的运算符,但习惯的力量就是这么可怕。同样的道理,当需要上移至文件顶端时,我永远会本能地使用“1G”而非“gg”。这些直观反应已经溶化在了我的血液当中。

这类情况在开发工作中同样数见不鲜。我们拥有自己积累下来的函数认知、久经考验且稳定可靠的处理方法,也在自己喜爱的语言中掌握了拿来就用的操作模块。尽管我们清楚其它语言的用法,但在真正面对这些功能元素时、我们仍然会有种踏入未知水域的莫名恐惧感。

有趣的是,在多数情况下,浪费在反复使用固有方法上的时间足以帮助我们学习并掌握其它语言所提供的更为科学的处理机制。一旦我们拥有了数十次同一内容的编写经验,我们就会丧失观察其背后逻辑的愿望与理由。我们只知道我们可以将这些函数添加进来、为其填写内容,它们就自然会给出相应的正确答案。如此这般,青春就在重复中离我们而去。但如果换一种思路,立足于不同语言对同样的函数加以审视、我们往往会发现更多原先从未意识到的优化空间。用新视角观察旧代码既新鲜刺激又令人恐惧,但这也正是其意义所在。

时间: 2024-10-15 01:59:25

不愿将多种编程语言杂糅在一起?可能你还没意识到而已的相关文章

你真的需要掌握多种编程语言吗?(各有九个理由,但必须精一门)

简述 我刚刚断送了自己的职业生涯,没错,很多人都这样对我说. 同事得知我即将离开公司的消息,大多数对此表示理解.但让他们困惑的是,我目前就职的公司是一家Windows商店,用C#.net编写代码,而我要入职的岗位要求在Linux环境下进行开发,以Java为主要的编程语言.他们认为编程语言的改变会让我丢失多年经验,许多人都赞同他们的观点. 编程语言很多,数以百计.有些很常见,例如:Java.C#.PHP.Ruby.Python.和JavaScript,而有些则比较边缘化或是新兴的,例如:Awk.G

转: 如何成为一个通晓多种编程语言的程序员

如何成为一个通晓多种编程语言的程序员 2015-07-16 程序猿 学习一门新的语言是一种冒险.我总是热衷于尝试新的东西——学习新的语法,了解不同的模式,乃至彻底改变思维方式.不幸的是,许多开发人员对此不以为然,甚至可能是深恶痛绝的——学习新语言,就得走出舒适区,花时间花精力来学习新的理念和方法. 这段日子,我每天都要用大约5种不同的语言来写不同的项目! 我应该先学哪种语言? 有关这方面的讨论真可谓数不胜数.很多刚进入编程社区的初学者,都会问这个问题,简直就是前赴后继.有些人建议先学不费力的,如

译:如何成为一个通晓多种编程语言的程序员

学习一门新的语言是一种冒险.我总是热衷于尝试新的东西——学习新的语法,了解不同的模式,乃至彻底改变思维方式.不幸的是,许多开发人员对此不以为然,甚至可能是深恶痛绝的——学习新语言,就得走出舒适区,花时间花精力来学习新的理念和方法. 这段日子,我每天都要用大约5种不同的语言来写不同的项目! 我应该先学哪种语言? 有关这方面的讨论真可谓数不胜数.很多刚进入编程社区的初学者,都会问这个问题,简直就是前赴后继.有些人建议先学不费力的,如Python和Ruby,也有的人认为应该先学例如C.C++和GO这类

你真的需要掌握多种编程语言吗?

简述 我刚刚断送了自己的职业生涯,没错,很多人都这样对我说. 同事得知我即将离开公司的消息,大多数对此表示理解.但让他们困惑的是,我目前就职的公司是一家Windows商店,用C#.net编写代码,而我要入职的岗位要求在Linux环境下进行开发,以Java为主要的编程语言.他们认为编程语言的改变会让我丢失多年经验,许多人都赞同他们的观点. 编程语言很多,数以百计.有些很常见,例如:Java.C#.PHP.Ruby.Python.和JavaScript,而有些则比较边缘化或是新兴的,例如:Awk.G

如何成为一个通晓多种编程语言的程序员

学习一门新的语言是一种冒险.我总是热衷于尝试新的东西--学习新的语法,了解不同的模式,乃至彻底改变思维方式.不幸的是,许多开发人员对此不以为然,甚至可能是深恶痛绝的--学习新语言,就得走出舒适区,花时间花精力来学习新的理念和方法. 这段日子,我每天都要用大约5种不同的语言来写不同的项目! 我应该先学哪种语言? 有关这方面的讨论真可谓数不胜数.很多刚进入编程社区的初学者,都会问这个问题,简直就是前赴后继.有些人建议先学不费力的,如Python和Ruby,也有的人认为应该先学例如C.C++和GO这类

用多种编程语言写“hello world”你知道吗?不多会几个都不好意思当程序员!

几乎每个程序员写出来的第一个程序都是“hello world”,Hello World最早是由 Brian Kernighan 创建的.1978年,Brian Kernighan写了一本名叫<C程序设计语言>的编程书,在程序员中广为流传.他在这本书中第一次引用的Hello World程序: main (){ extrn a,b,c; putchar (a); putchar (b); putchar (c); putchar ('!*n'); } a 'hell'; b 'o, w'; c '

600多种编程语言为何选学Python?这几个理由足够了!

注: 看完这几个理由,建议新手入门买两本书 <零基础学Python>和<Python入门到实践> 自2016年Python取代Java成为高校中最受欢迎的语言,从那时起它受欢迎的程度就没有减退过. 随着新时代的到来,Python正在不断发展壮大.如果你阅读编程和技术新闻或博客文章,那么你可能已经发现了Python的兴起,已经是大势所趋! 但是,最大的问题是为什么应该学习Python? 对于初学者来说很简单,从Python开始是最好的选择.因为它易于学习,功能强大,足以构建Web应用

视频直播的发展趋势分析

视频直播的分析与发展 在讲视频直播之前,先讲一讲直播.直播是怎么来的呢?从传播消息的角度上来说,视频和文字.图片.音乐一样都是传播消息的手段,古时以文字传播消息,之后出现了图片和音乐,再之后视频开始流行.出现这种演变的原因是什么呢?我想主要是由于读者的需求日益提高和传播技术的不断发展.读者不满足于当前的文字阅读,由此出现了图片与音乐,到后来图片与音乐也无法满足日益增长的需求,则出现了视频.视频具有文字.图片.音乐不具有的优势:传递的信息多,更让人有代入感,给观众更综合的体验.虽然视频有着无可比拟

为什么美国学生学的数学比我们简单却还能做出很牛逼的东西?

听说过这样一种说法:美国初中生学的数学是咱们国家小学生学的水平,美国高中生学的数学是咱们国家初中的水平.(不知道对不对) 那么,为什么很多需要数学的东西(比如计算机图形学领域)都是人家做出来的而不是咱们 ?算法对数学的要求够大了吧? PPS:一个类似的回答,有启发意义:美国高中教育那么粗浅,大学教育那么尖端,中间的 Gap 怎么搞定? 私以为 @倪大为 同学引用的答案说的是最正确的.特此赞同一下:"美国给予不热爱数学的学生最基础的数学教育,而给予热爱数学的天才最高水平的数学教育." 长久以来,中