home

Programming Language Concepts

Dynamically Typed vs Statically Typed

Dynamically Typed

# python is a Dynamically Typed language, hence the following is allowed:
x = 5
x = "koraytugay"

Statically Typed

// Java is a Statically Typed language, hence the following is not allowed:
class _{
    int x = 5;
    // x = "koraytugay"; Not allowed!    
}

References

Strongly Typed vs Weakly Typed

References

First Class Values vs Second Class Values

First Class Values

.. note that the whole point of a programming language is to manipulate values, which, following historical programming-language tradition, are therefore called first-class values (or citizens)

Second Class Values

.. other structures in programming languages, which are used for expressing the structure of values but which can’t be passed around during program execution, are second-class citizens

References