Dynamic language
Advantages of dynamically typed language:(Recommended learning:PHP programming from entry to Proficient)
means that the amount of code written is less and it looks more concise. Programmers can focus more on business logic. Although not distinguishing between types can make the program difficult to understand in some cases, overall, the smaller the amount of code and the more focused on logical expression, the more helpful it is for reading the program.
Disadvantages of dynamically typed languages:
The type of variables cannot be guaranteed, so type-related errors may occur during the running of the program.
The tolerance of dynamically typed languages to variable types brings great flexibility to actual coding. Without type checking, we can try to call any method on any object, regardless of whether it was designed to have that method.
is a type of language whose structure can be changed at runtime: for example, new functions, objects, and even codes can be introduced, existing functions can be deleted or other structural changes can be made. In layman's terms, the code can change its structure according to certain conditions at runtime.
Main dynamic languages: Objective-C, C#, JavaScript, PHP, Python, Erlang.
Static language
Advantages of statically typed languages:
First, the type can be discovered at compile time For mismatch errors, the editor can help us avoid some errors that may occur during program running. Secondly, if the data type is clearly specified in the program, the compiler can also perform some optimization work on the program based on this information to improve the execution speed of the program.
Disadvantages of statically typed languages:
First of all, it forces programmers to write programs according to strong contracts and specify data types for each variable. In the final analysis, it only helps us write reliable programs. It is a means of high-performance programming, not the purpose of writing a program. After all, the purpose of most people writing programs is to complete the requirements and deliver production. Secondly, type declarations will also add more code. During the program writing process, these details will distract the programmer's energy from thinking about business logic.
Corresponding to dynamic languages, languages whose runtime structure is immutable are static languages. Such as Java, C, C.
There are three nouns that are easily confused:
Dynamic Programming Language (dynamic language or dynamic programming language)
Dynamically Typed Language (Dynamic Typed Language)
Statically Typed Language (Static Typed Language)
Dynamic Typed Language and Static Typed Language
Dynamic Typed Language
Dynamic type language and dynamic language are two completely different concepts.
Dynamic type language: refers to a language that does data type checking during runtime. It talks about the data type.
Dynamic language: refers to the running time Changing the structure refers to the code structure.
The data type of dynamically typed language is not determined at the compilation stage, but the type binding is postponed to the runtime stage.
Main languages: Python, Ruby, Erlang, JavaScript, swift, PHP, Perl.
Static type language
The data type of static language is determined during compilation (or before running). When writing code, the variables must be clearly determined. type of data.
Main languages: C, C, C#, Java, Object-C
The above is the detailed content of Is php a static language?. For more information, please follow other related articles on the PHP Chinese website!