python 系统性的限制了代码的灵活执行,不管是 lambda 还是 eval 都只能运行表达式,应用场景十分有限,极大的限制了 python 语言的表现力。
本来能够很容易就写出来的代码,需要绕弯子。
这种限制在当前没有任何站得住脚的合理解释,非要说就只能扯 pythnoic 意识形态大旗。
python 还有个更糟糕的设计是用缩进当做语法,也许在 30 年前能少敲几下键盘,或者让缩进看起来更一致和美观,但是现在的各种 IDE 全都能自动解决这些问题,根本就不需要人操心。
不过这些设计上的问题总会有些争论的,毕竟大家对自己常用的工具都挺有感情的。
设计是好的还是坏的,到现在是否还合时宜,有个更客观的评价标准,就是那个设计是否影响到了最近才出现的主流语言,如果那个设计是后继无人的,那么必定是坏的。
就拿缩进敏感来说吧,算是典型的后继无人,Swift ? Go ? Rust ? Kotlin ?这种糟糕的设计已经被后人全面抛弃。
python 还有哪些糟糕的设计?
以设计的传承性来看,你可能会发现更多败笔,它们已经被历史无情地扔到垃圾堆中了。
毕竟很多东西都有其时代局限性。
