What are statically typed languages

Differences between weakly typed, strongly typed, dynamically typed and statically typed programming languages

tags: weakly typed, strongly typed, dynamically typed, statically typed languages

Dividing knowledge points into categories can save them better, as can programming languages. Languages ​​of the same type can also validate each other for a more complete understanding.

Basic concepts

  1. Program error error. An error that cannot be handled by the interpreter or compiler. Causes the program to stop executing, e.g. For example, divide by 0, and arrays in Java have access to unlimited errors. Execution continues after an error, but any behavior can occur. B. Buffer overflow in C, jump to wrong address
  2. Prohibited behavior runtime environment predefined errors. When designing a language, you can define a number of prohibited behaviors. These must contain any unassigned errors, but they can contain included errors.
  3. Well behaved: If prohibited behavior is unlikely to occur during program execution, then well behaved
  4. badly behaved well behaved: prohibited behavior may appear badly dazed ...

Strong and weak input, static and dynamic input

  1. Strongly typed: If all programs behave well in a language, ie prohibited behaviors are not possible, the language is strongly typed.
  2. Weak typed: otherwise weakly typed. For example, the C language buffer overflow belongs to trapped errors, that is, forbidden behaviors ... Hence, C is a weak type. Weakly typed languages ​​with less stringent type checks, e.g. B. the tendency to tolerate implicit type conversions. For example, C language int can be doubled. This result is: Forbidden behaviors can occur, so the types are weakly typed dynamic and static types
  3. Static: statically typed if the badly behaved program is rejected at compile time;
    a. If the type is part of the language syntax, the type is entered explicitly.
    b. If the type is inferred at compile time, it is entered implicitly, e.g. B. ML and Haskell
  4. Dynamic: Entered dynamically if bad behavior is rejected at runtime.


  1. The scripting language runs directly in the interpreter and generally does not have a compilation process. Hence it is also known as interpreted language. However, for the sake of work efficiency, an environment for compiling scripting languages ​​can also be developed, e.g. B. Node.js, in which JavaScript is executed.
  2. The scripting language does not have a compilation process. Typically an error is reported in the running environment, so it is mostly of a dynamic type
  3. C # and Java have their own IDEs such as VS and Eclipse for programming efficiency and business reasons. To ensure the efficiency and robustness of the code, the IDE compiles the natural language entered by the programmer into intermediate languages ​​such as .lib files and .jar files. The compilation process is different in different IDEs. Then, deploy the intermediate language files in their respective formats in their operating environment, often referred to as the .Net Framework and JRE ().

Programming language classification diagram


Programmer encyclopedia

    Differences between weakly typed, strongly typed, dynamically typed, and statically typed languages

    What is the difference between weakly typed, strongly typed, dynamically typed, and statically typed languages?

    The difference between dynamic language, static language, strongly typed, weakly typed language

    What are weakly and strongly typed languages ​​and dynamic and static types

    Compiled language, interpreted language, mixed language, statically typed language, dynamically typed language, dynamic language, static language, strongly typed language, weakly typed language ...

    Basic knowledge of typescript notes (1): strongly typed language and weakly typed language, static language and dynamic language

    Compiled language and interpreted language, dynamic language and static language, strongly typed language and weakly typed language

    Dynamic and strongly typed Python

    Functional programming and object-oriented programming [2]: Expressiveness of statically typed languages ​​Statically typed languages ​​and dynamically typed languages ​​...

    Strongly typed data set

Copyright © 2020-2021 - All Rights Reserved - programmerwiki.com