the work java spring does is not caused by the language feature limitations of java.
so python should need something similar, but why didn"t it develop?
the work java spring does is not caused by the language feature limitations of java.
so python should need something similar, but why didn"t it develop?
python has something called a decorator.
I think we can look at it in terms of IoC and AOP:
< H1 > IoC < / H1 > < H2 > Design goals of the language < / H2 >java is for run any where, to include coffee maker, washing machine and space shuttle, so the core is originally in virtual machine specification, class library has always been a pain point, early Sun company did not solve well, that is why there are apache commons-xxx series and a large number of various jar packages, with a variety of refurbished construction tools to manage these three-party libraries, users need to repeatedly select and switch in different class libraries, Spring IoC happens to meet this demand.
the goal of Python is to simplify development, known as executable pseudocode, relying on mature C language libraries, many of which are later calls to C language libraries, while C language adheres to the Unix tradition and only does one thing and does it well. Small modules combine into powerful functions. Very often, python calls functions directly to solve the problem, but java has to hesitate to use that library first, and there is no way to leave this decision through Spring to be adjusted at run time.
< H2 > problems with open source < / H2 > Jdk is not open source in the early days, and the release cycle interval is very long. I feel uncomfortable that you have to write a class library by yourself.
Python is open source from the very beginning, and the core is unhappy to submit patches
Java is not a script, it needs to be compiled and packaged before it can be run. This is the way to use it in most cases. Later modification to repeat this process
also causes functions like AOP to be too convenient for Java, which can dynamically modify program behavior. In most cases, Python runs in source code, and it doesn't matter whether AOP has it or not.
agrees with jujaoo's point of view 1. I think it is mainly caused by the application scenarios of the language and the business problems solved.
python is a weakly typed language, so is it really suitable for enterprise application development?
Python's decorator can achieve the AOP function of Spring, but it can't be defined in the form of XML file like Spring.