Static language:
Identifiers such as types, variables, or type attributes defined in a static language can be fully found by the find references feature provided by their IDE. Static language can completely understand the code and find the problem through static analysis.
Dynamic Language:
For dynamic languages, static analysis is often difficult due to the uncertainty of its variable types and member types, which also leads to a common belief that dynamic language-written programs are more difficult to maintain.
Dynamic language because of its flexibility, if the language does not provide a modular mechanism to decompose the system, and does not constrain the use of global variables, it does lead to its written code is difficult to analyze and maintain.
It can not only reduce the use of global variables by providing the modularization mechanism for dynamic language, but also can isolate the complexity of the system through the modularization mechanism, so that the function point of single module is small in relative concentration code, so the analysis of dynamic language code can be based on the module, which greatly improves the static analysis of dynamic language.
The static analysis technique of language