Dynamic language and static language

Source: Internet
Author: User

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.