简化操作=限制性能

请注意,本文编写于 177 天前,最后修改于 161 天前,其中某些信息可能已经过时。

敲代码时有感而发:我们所进行的编程语言只不过是复述了曾经的打孔纸带而已。

打孔纸带作为最为原始的和机器沟通的语言,操作繁琐,但是运行效率极高,我们把机器需要理解的0和1的转换损耗转嫁在人类身上,也就是最早期的程序员。

后来,一部分程序员觉得:我这样做太繁琐,太浪费时间。于是诞生了初级语言,比如basic等。

再后来人们觉得可以更简化,更便于人类理解,诞生了现代语言,c、c++、java等。当然我只挑了几个具有代表性的。

编程语言的简化意味着人们在与机器的博弈中逐渐占据领导权,让更多人爱上编程。但是,这也意味着机器的性能被逐渐损耗。解释1+1=2,这需要一个代码块来实现,随着技术迭代,这个代码块需要更多的代码块来实现(伴随着操作简化),可是背后,我们只需要让他在屏幕上显示2这个数字就可以了。

可以说,编程语言的进化不改变产生结果,简化了操作,增加了其背后的工作量。

对于编程语言的逐渐深入我越意识到,简化操作=限制性能,二者没办法兼容,所谓鱼和熊掌不可兼得。

如果让我生在那个时代,我可能会坚持机器码不动摇,因为我最看中性能优化。

最可悲的是,这个世界的大小没有顶点,这意味着我不可能在任何事上做到最优解,只能一定程度上(针对一个具体范围)。对于喜爱最优解的人来说,这便是噩梦。

或许是我太钻牛角尖了吧。

添加新评论

评论列表