天天看点

原生的没落与脚本的崛起 - 从科幻小说到现实漫谈编程语言

郑重声明:科幻小说有很多内容是经不起认真推敲的,即使是所谓的硬科幻。但是,这种硬伤并不影响我们学习他们从另一个角度来观察、思考我们面临的问题,因此,在这个基础上学习别人先进思想经验同时摈弃糟粕是非常必要的。所以在看本文时一定要牢牢记住这句话以免被带偏。慎重慎重!

还是先从科幻小说《三体》开始,三体中非常震撼人心一个武器是二向箔,这是一种直接将三维空间坍缩到二维空间的武器(注意,我们不是来探讨硬伤的,参看上文声明),这种武器的可怕之处就在于以光速湮灭掉了三维空间中的所有生物。当然,三体的脑洞还不止于此,她还虚构了更高维的空间,比如四维五维空间等等,甚至还在三维空间中残留了少量的四维碎片等神奇内容。相信看过《三体》的同学都会深有感触,此处就不再多费口舌,我们直接进入正题 - 从降维武器角度来看待编程语言。

编程语言的发展史几乎是每个开发语言的必讲内容,具体来说就是从机器语言->汇编语言->高级语言->脚本语言的一个全面演化过程。按照进化论的说法,这是一个必然的演化过程。显然这不是我们今天要说的内容,今天要说的是从降维武器(三体)角度来看这个过程。

好了,假设机器语言属于5维空间,我们可以类推出汇编语言属于4维,高级语言属于3维空间,脚本语言属于2维空间,每个维度的进化都代表着这个维度毁灭性(光速)的打击。这个跟小说中所描写的情况高度相似,因此,我们大开一下脑洞,来从小说角度看看都发生了什么:

1.每次降维打击都是毁灭性的,且是高速(光速)进行的。这个很显然、很容易理解也很重要。从编程语言的进化史来看,就是一批一批语言的高速死亡。

2.低维相当于高维的投影,这个跟上面那条一样是不可逆的。因此,从高维角度看低维会觉得异常简单:从汇编语言来看高级语言的代码会感觉非常简单,有很多看起来在低维很难甚至是几乎无解的问题实际上在高维上简单得简直跟1+1差不多。

3.每次降维打击都要死一大批无法适应低维空间的高维生物(开发工具厂商、软件开发商),而早早做好了适应低维生存能力的生物能够更长远的生存下去。例如从微硬的VC到C#就很能说明问题。当然,这中间死掉了一大批开发工具厂商,此处就不展开了,有兴趣的话自己去搜索吧。

4.从科幻小说(三体)中的文明发展角度看开发语言的使用者也是一个很有趣的事情:无论把脚本语言使用的多么NB,充其量也只是能是三体文明的水平,这和歌者文明(开发工具厂商)比起来简直就是渣渣,同样,在归零者文明(CPU供应商)面前,歌者文明就成了渣渣。从这个角度来看,同样会发现更多有意思的事情:硬件厂商、操作系统、各种GPU等等内容应该属于什么文明呢?FaceBook、Google、Twitter、BAT又属于什么文明呢?神级文明又是什么呢?也许可以参考三体来写一篇计算机进化史的高科技科幻小说或者脑洞出一个场景宏大的西部世界也不是不可能的(此处希望我们的编剧、导演能够多读点儿书多看看世界多些脑洞。这句话极可能是对牛弹琴,算了)。当然,你也可以认为这个纯粹是胡说八道的脑洞。这个内容就此打住,同样有兴趣的同学可以用自己的脑袋打开一扇新世界的大门。

5.坚守高维空间的开发厂商和开发者更像是三维空间中的四维碎片,结果不言而喻:要么死亡湮灭要么成为更高维的文明。说到这里,其实我很心痛,但事实就是这样:我用滴血的心深深理解每个四维碎片的价值,但又只能用适者生存法则来光速湮灭每一个四维碎片!我很想做一个歌者,但很遗憾,我不是。不说了,你懂的。。。

6.光明的未来?看到各种所谓的崭新开发语言(多如牛毛,说实话,看看某个榜单,我真的记不住)如同雨后春笋般快速成长、壮大,不知道是该兴奋还是该悲伤。从进化角度来看,这种现象只是历史不断螺旋上升的一个过程而已。从科幻小说的角度看,这只是歌者文明使用二向箔进行清理前的前奏而已!是不是很悲惨?是不是有点儿难过?

7.开发语言前瞻:站在行业内部,面对铺天盖地的各种“文明”宣传,我们很难看清未来路在何方。那么我们就从小说角度看看开发语言的发展方向。首先要提一下老套的公式:程序=数据结构+算法。数据结构这个内容我们不做深谈,单说算法,算法可以简单的认为就是一个个的数学公式(这个表述因条件转移而非常不严谨,请见谅),也就是说用一条条的数学公式将数据结构串起来就得到了程序(结果)。那么,从这个思路出发,显然,下一波的开发语言必定是最容易理解的公式语言,且必定是脚本化的!展开一下,我们会看到:泛型的意义有多重要能理解吗?异步执行多重要能理解吗?回过头来,提醒一下:这个是我个人的粗浅理解,请慎重参考。还有,这里有一个前提条件,就是在人机输入没有跨越式的突破之前。最后请思考一下更远的开发语言应该是什么样子?

8.本文的意义:换个角度来思考问题也许会有完全不一样的发现。同时对于初入开发行业的人员也是一个参考:你想干什么?想怎么干?以及干到什么水平?当然,我很希望每个入行的开发人员都有一颗神级文明的心。

最后,向奋战在开发战线上的每一个开发人员致以最崇高的敬意!无论面对哪个文明的清理都希望你们能够认清自己:身体最重要!保重!

继续阅读