1. Dynamic language dynamically Typed Language
Example: ECMAScript (JavaScript), Ruby, Python, VBScript, PHP
Also called dynamic type definition language
In contrast to a static type definition, a language that discovers data types during execution.
Dynamic language means that a program can change its structure at run time: New functions can be introduced, existing functions can be deleted, and so on structure changes.
The type checking for dynamic languages is done at run time.
Its advantage is convenient to read, do not need to write very many types of related code;
Disadvantage is not easy to debug, naming is not standard will cause reading does not understand, not conducive to understanding and so on.
Currently, the dynamic languages under the Java platform are groovy, nice, BeanShell, Jython, JRuby, Rhino (JavaScript), Jacl (TCL), Bistro (SmallTalk), Kawa (lisp/ Schema), is really more and more. In Java, so many dynamic language suggestions to choose Groovy, feel more authentic pedigree, compatible with Java syntax, Java programmers learn easier, get started faster.
2. Static language statically Typed Language
For example: C, C + +, Java
Also called a static type definition language. That is, at compile time, the data type is a fixed language. Most static type definition languages enforce this, and it requires that you declare their data types before you use all the variables.
Before using the data, we must first define the data types, which include int, float,double, and so on. It is equivalent to allocating memory space first before using them.
The main advantage of static type language is that its structure is very normative, easy to debug, convenient type safety;
The disadvantage is that you need to write more type-related code, which is not easy to read and unclear.
3. Strongly typed definition language
A language that always enforces type definitions. Java and Python are mandatory type definitions. If you have an integer, if you do not display the conversion, you cannot treat it as a string
4. Weak type definition language
A type of language that can be ignored, as opposed to a strongly typed definition. VBScript is a weakly typed definition
Of In VBScript, you can concatenate the string ' 12′ and the integer 3 to get the string ' 123′,
You can then think of it as an integer 123 without the need to display the conversion.
5. Scripting language
The scripting language represents a set of protocols that differ from the system programming language.
They sacrifice execution speed and the type length associated with the system programming language to provide higher programming authoring power and software reuse.
Scripting languages are better suited to be tied to complex applications.
To simplify the work of connecting components, scripting languages are designed to be untyped, and scripting languages are generally character-oriented, because characters provide a consistent description for many different things.
In fact, scripting languages are dynamic languages, and dynamic languages are interpreted languages, whether they are object-oriented or not.
Dynamic language and static language