【感悟】程序员用计算机语言去写代码 vs 作家用人类的语言去写书

【背景】

找Python名称由来时找到的:

Python – 名字的起由-Python-ChinaUnix.net

提到的:

http://www.digibarn.com/collections/posters/tongues/ComputerLanguagesChart-med.png

想到了:

 

【分析过程】

 

程序员用计算机语言去写代码,和作家用人类的语言去写书,很类似

背景知识

先说个基本的背景:

人类的语言,有多种,比如中国人的中文,英美等国用的英文,以及其他各种国家或地区的不同语言;

计算机语言,也有很多种,比如常见的C语言,其他还有很多,比如C++,C#,Java,Python,PHP,Perl,Ruby,Go等等;

其中,虽然有些语言更加适合做某方面的工作,但是很多常见的功能,都是可以用多种不同的语言去实现的,只是可能是,实现起来各自的复杂度,难易程度,最终性能等等不同罢了。

不同计算机语言,就像不同国家的语言类似:

 

给定对应时间和精力,都可以掌握

作者,如果花了对应的时间和精力,理论上,对于各种人类语言基本语法和用法(听说读写,起到交流的目的),都可以掌握。

程序员,如果花了对应的时间和精力,理论上,对于各种的计算机语言的语法和用法(用不同语言去写代码,实现不同的功能),都是可以掌握的。

 

但是有天赋,水平高的才能写出好东西

但是,正像:

  • 作者,如果本身没有语言天赋,学习多种人类语言,其学习起来的效率,使用起来的熟练程度,都会不同,甚至可以说差异很大;
  • 程序员,如果对于计算机语言没有很好的天赋和理解,也是会,对于不同的计算机语言,学习和掌握起来,使用起来,也会有很大的效率的差异

尤其是:

  • 作者,想要写出,举世名著,经典名著,那往往是:自己除了99%的努力之外,必须具备那1%的天赋,由此,加以锻炼,才能写出真成的文学巨著;
  • 程序员,对于处理一些复杂的问题,需要特殊的解决的问题的思路和办法,计算机属于里面,叫做算法,对于这方面的内容,尤其是复杂的算法,往往也是需要天赋,有这方面的能力,才能搞定的

 

另外,计算机语言和人类语言,也有其他很多类似之处:

同样是不同的作者,都是中国人,都懂了基本的汉语的基本知识,都会写汉字,但是,不同人写出来的汉字,组合出来的结果就会有天壤之别:

水平差的作者,写出来的书,就可能是词不达意,更别说写出传世著作了;

有天赋水平高的作者,同样是一堆汉字,但是组合而成的书,就可能变成经典文学著作。

 

类似的:

对于同样一门计算机语言,比如C语言,水平不同的程序员,

都已经懂了基本的C语言的前提下,去写C语言的代码,但是:

水平差的程序员,写出来的代码,问题(计算机属于叫做bug(臭虫,谐音:八二哥))一堆,代码风格也不好,等等,问题一堆;

而水平高的程序员,正所谓,有了足够的程序员的素养,有了良好的代码风格,写出来的代码,不仅很少或极少的问题(bug),而且代码风格也好,别人看其代码的话,就像在阅读一篇,语句通顺,思路清晰的议论文,或是很有风采的诗歌或散文。

 

同理:

  • 对于有文学天赋的水平高的作者:如果用自己母语(国人用中文)写出名著,那么理论上,给足够的时间,其可以在掌握了其他某种外国的语言之后,用该种外语,去写出,质量不差,或者是水平相当的著作(此处暂且忽略不同语言,语系的表达方式和不同语言的内在不同点而导致的不同的在语言表达方面的优缺点)
  • 类似的,对于有计算机语言有天赋的水平高的程序员:除了可以用其已经掌握的某种计算机语言去写出质量高的代码之外,也可以再花了相应的(甚至别他人更短的)时间去学习并掌握另外一门计算机语言,然后用该计算机语言去,写出该语言的高质量的代码,去实现同样的功能(此处暂且不同语言实现不同功能会有所不同,包括难易和复杂度高低不同等等)


发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量