[ ]
宙飒天下 1. 结语
1.1. 编程语言的历史遗产与历史包袱
通常我们讲一门历史悠久的语言总归或多或少的有所谓的历史遗产和历史包袱.但很奇怪的是通常讲C++讲的都是包袱,讲python就是讲的遗产.
个人认为这和编程语言的发展过程和一些决策是有关系的.
C++最早的目标就是做更好的C,因此在语言设计的时候充分考虑了向下兼容性,这当然有好处,可以在短期内利用现有的生态快速得到推广,相同思路的是编程语言julia,它可以几乎无缝的嵌入python和R的模块.但坏处也同样不可以无视--所兼容的语言及其开发者共性的的缺点也会被沿袭下来,造成与自身语言概念设计(这个词来源于人月传说)的冲突.而妥协是一种习惯,一旦有了一次就会有第二次,像C++为了向各种兼容就会做出各种妥协,慢慢慢慢这门语言就会失去一些核心的东西,而变得难以理解,历史包袱就这样诞生了.
python发展过程中最大得益于3点:
- 它在适当的范围内被应用,这个范围不大也不小
- python之父是一个意志坚定的人.这样它可以在实践的检验下维持自己的概念设计,不断的迭代优化.
- 开源
即便如今python3和python2都不兼容,python核心的概念设计完全没有改变过.因而他的包在多数时候都是可以修改到符合最新的版本.如果包作者不愿意更新,那很快也会有新的替代品,这样这门语言本身就是这个社区的核心,自然就可以淘汰掉包袱只留遗产了.
还没有评论,来说两句吧...