如果代码替换成中文就会怎样? 程序员劝高考650分堂弟, 放弃报计算机去学医?
如果代码替换成中文就会怎样? 程序员看了就觉得头疼!
首先大概的看一下中文编码:
你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样。编程是和机器沟通,因此要用机器的语言而不是人类的语言。最早的程序就是0和1的数字,不是中文也不是英文。以前的程序员,每天写程序就是在一条长长的纸带上打孔表示0和1。后来发现0和1的二进制太麻烦了,就把0和1压缩一下,用16进制表示,比如数字10,用二进制表示是1010,用16进制表示就是0A,这样表达起来就更简洁,但是输入电脑后,仍然要转换为二进制电脑才能明白。
后来,科学家们用简单的英文单词表示某些功能,比如加法,就用add表示,减法就用dec表示。程序员输入add或dec后,系统会转换为对应的算法。就这样不断的给不同的代码段起名字。编程语言就是从数字编码不断压缩提高层次,最后形成了当今的各种风格的编程语言。为什么码农会讨厌中文编程?我用最流行的易语言说明。
所谓全中文的易语言,其实就是把Visual Basic语言中每个英文单词换成了对应的中文词,其他都不变。比如Visual Basic的代码是这样:
if True thenPrint "OK"endif
换成了易语言,就是这样了:
如果 真 那么打印 “OK"结束如果
看出来,英文写的程序更简单清晰。
其实从语言学的角度来说,英文是线性的一维语言,而中文是平面的二维语言。而程序恰恰是线性的一维的。也就是说,线性的英文正好能契合线性的程序。所以,中文并不适合现有的编程方式。
然而,未来的发展可能超出你的想象。未来可能会有多维度的量子计算,也许二维的中文反而会比一维的英文更适合。
程序员对比过中文编程和英文编程就会明白,中文编程反而会提高门槛。因为编程的核心根本就不是什么语言,而是程序化思维方式。最简单的并不是英文编程,而是数学符号编程,极度抽象,普通人很难理解,但代码量特别少。
补充一句,其实现代的语言比如Java,都支持Unicode,也就是说可以用中文甚至世界其他语言做变量名和函数名,你可以试试看,这样看起来就基本上就相当于是中文编程了,对比一下英文编程,你就会知道哪个更好了。
程序员劝高考650分堂弟, 放弃报计算机去学医, 结果隔天蒙了
每年高考过后,考生们的心情都非常忐忑,一边期待自己什么成绩,另外一边又要为选择什么样的专业和学校烦恼,不管怎么焦虑,这都是每个考生都需要经历的一个过程,然而选择是痛苦的,在这个时候大多数让最需要身边成功人的指点。
近日有位程序员在职业论坛留言分享了,自己给堂弟建议学医的经历,“程序员劝高考650分堂弟,放弃报计算机去学医,结果隔天蒙了”到底怎么回事?请往下看。
原来是这位程序员的堂弟,高考过后预估分数最少650分以上,由于不知道选什么专业,就找到了这位程序员,而这位程序员目前在北京从事互联网行业年薪有40万,相对来说更有发言权,可这位程序员劝他的堂弟,放弃计算机去学医,结果隔天蒙了,堂弟父母不领这个情,不赞成学医而更喜欢让儿子去报计算机,对于程序员的这个建议,觉得在害他们孩子。
其实计算机跟学医来比,确实学医更好一点,毕竟互联网行业也说年轻饭,而且还要长期加班,而学医也不同,以这个成绩再去读个博士出来肯定会更好,但学医如果学艺不精的话,那也很被动,因此如果提建议的话,一定要把利弊说清楚,也不要把话说死,毕竟选择权在他们,结果混得好感谢你,要是混的不好还被他们的埋怨。
对此网友纷纷说出了自己的看法:
网友认为:你的出发点很好,他们是不了解计算机的残酷,只看到了你的高薪,计算机业的知识更新换代~~~不是每个人有这个脑力跟上的,劝了没用,就让他自己体会。
更有网友说:亲戚报志愿真想帮忙的话,先问他想学啥。然后给他介绍这个专业的内容和就业,尽量不添加个人判断。
还有网友也很赞同学计算机:要是我,我也这么认为,医科能干嘛,读完八年研究生毕业,是去小医院一个月5000还是花30万去大点医院拿几千?这个成绩计算机四年下来能去一线一万起步了,供大学八年还是四年是几千还是几万,想不明白么。
也有网友赞成学医:现在学医主要靠大后期,互联网前期爆发高,除非你能在头15年结束战斗也就是财务自由,否则和学医没法比。现在北京很多专家都有多点执业,这个需要国家认证的,就是像同仁,协和这种公立医院的专家都在外面的私立医院任职或者开自己的工作室,有的还是股东,这就是现在俗称的黄昏诊所,这个挣钱速度比互联网快多了。