java spring干的活并不是因为java 的语言特性限制导致。
所以python应该也需要类似的东西,但是为什么没发展起来呢?
3 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
我觉得可以从IoC和AOP两个方面来看:
IoC
语言的设计目标
java是要run any where,包括咖啡壶,洗衣机,航天飞机,所以核心最初在虚拟机规范上,类库一直是痛点,早期Sun公司解决得并不好,所以才有apache commons-xxx系列以及海量的各类jar包,附带花样翻新的构建工具来管理这些三方库,用户需要在不同的类库里反复选择和切换,Spring 的IoC恰好迎合了这个需求。
Python 的目标是简化开发,被称作可执行的伪码,依托于成熟的C语言库,很多是后就是对C语言库的调用,而C语言秉承Unix传统,只做一件事并做好,小模块组合出强大功能,很多时候python直接调用函数解决的问题,java却先要在用那个类库上犹豫不决,没办法就把这个决定通过Spring留待运行时在调整。
开源的问题
Jdk早期并不开源,发布周期间隔很长,觉得不爽你只好自己写一个类库吧
Python一开始就开源,觉得核心不爽提交补丁好了
AOP
语言使用方式的不同
Java 不是脚本,要编译打包才能运行,这是多数情况下的使用方式,后期修改要重复这个流程
也导致AOP这样的功能对Java来说太方便了,可以动态修改程序行为,Python多数情况下是源码运行,本来就能动态修改行为,AOP有没有关系不大。
添加回答
举报
0/150
提交
取消