姓名:林明聪;学号:21021210897;学院:电子工程学院
转载自https://blog.csdn.net/csdnnews/article/details/125383535?spm=1000.2115.3001.5928
【嵌牛导读】很难预测一百年后的人类生活,只有少数几件事是可以确定的。那时,汽车将具备低空飞行能力,城市规划的法规将放宽,大楼可以造到几百层,大街上一天到晚看不见太阳,女性个个都学过防身术。
【嵌牛鼻子】未来,编程语言
【嵌牛提问】一百年后,人们使用什么语言开发软件?
我认为,编程语言就像生物物种一样,存在一个进化的脉络,许许多多分支最终都会成为进化的死胡同。这种现象已经发生了。Cobol语言曾经流行一时,但是现在看来没有任何后续语言继承它的思想。
我预言Java也会如此。有人写信说:“你怎么能说Java不会成功呢?它已经成功了。”我觉得这要看你的成功标准是什么。如果标准是相关图书的出版量,或者是相信学会Java就能找到工作的大学生数量,那么Java确实已经成功了。
当我说Java不会成功时,我的意思是它和Cobol一样,进化之路已经走到了尽头。
这只是我的猜测,未必正确。这里的重点不是看衰Java,而是提出编程语言存在一个进化的脉络,从而引导读者思考,在整个进化过程中,某一种语言的位置到底在哪里?
之所以要问这个问题,不是为了一百年后让后人感叹我们曾经如此英明,而是为了找到进化的主干。它会启发我们去选择那些靠近主干的语言,这样对当前的编程最有利。
无论何时,选择进化的主干可能都是最佳方案。要是你不幸选错了,变成了一个尼安德特人(生活在欧洲的古人类,大约在3万年前已经全部灭绝),那就太糟了。你的对手克鲁马努人时不时就会来攻打你,把你的食物全部偷走。
这就是我想找出一百年后的编程语言的原因。我不愿意押错赌注。
任何一种编程语言都可以分成两大组成部分:基本运算符的集合(扮演公理的角色)以及除运算符以外的其他部分(原则上,这个部分可以用基本运算符表达出来)。
我认为,基本运算符是一种语言能否长期存在的最重要因素,其他因素都不是决定性的。这有点像买房子的时候你应该先考虑地理位置。别的地方将来出问题都有办法弥补,但是地理位置是没法变的。
慎重选择公理还不够,还必须控制它的规模。数学家总是觉得公理越少越好,我觉得他们说到了点子上。
你仔细审视一种语言的内核,考虑哪些部分可以被摒弃,这至少也是一种很有用的训练。在长期的职业生涯中,我发现冗余的代码会导致更多冗余的代码,不仅软件如此,对于像我这样性格懒散的人,我发现在床底下和房间的角落里这个命题也成立,一件垃圾会产生更多的垃圾。
我的判断是,那些内核最小、最干净的编程语言才会存在于进化的主干上。一种语言的内核设计得越小、越干净,它的生命力就越顽强。
网友评论