What is a Typed language ?

Typed Language: Typed languages are the languages in which we define the type of data type and it will be known by machine at the compile-time or at runtime.
Typed languages can be classified into two categories:
- Statically typed languages
- Dynamically typed languages
Statically typed languages: Statically typed languages are the languages like C, C++, Java, etc, In this type of language the data type of a variable is known at the compile time which means the programmer has to specify the data type of a variable at the time of its declaration. We have to pre-define the return type of function as well as the type of variable it is taking or accepting for further evaluations.
Syntax:
data_type variable_name;
Example: The below example illustrates the C++ code to show it is statically typed language:
C++
| #include <iostream> #include <string> usingnamespacestd;  intnumber(intn){   returnn; }  intmain() {      // Here every variable is defined by      // specifying data type to it     string str = "zambiatek";     intnum = 109;     floatflo = 12.99;     cout << "I'm a string with value: "<< str;     cout << "I'm a number with value: "<< number(num);     cout << "I'm a floating point number with value: "<< flo;     return0; }  | 
Output:
I'm a string with value: zambiatek I'm a number with value: 109 I'm a floating point number with value: 12.99
Example 2:
C++
| #include <iostream> #include <string> usingnamespacestd;  intmain() {      // Here every variable is defined      // by specifying data type to it     string str="zambiatek";     intnum = 109;     floatflo = 12.99;     intnum2 = "Welcome to GeekdforGeeks";     cout << "I'm a string with value: "<< str;     cout << "I'm a number with value: "<< num;     cout << "I'm a floating point number with value: "<< flo;     cout << "I'm a number with value: "<< num2;     return0; } | 
Output: It will show an error because we can not directly assign the value to a variable other than its defined data type:
prog.cpp: In function ‘int main()’:
prog.cpp:11:13: error: invalid conversion from ‘const char*’ to ‘int’ [-fpermissive]
    int num2="Welcome to GeekdforGeeks";
             ^
Dynamically typed language: These are the languages that do not require any pre-defined data type for any variable as it is interpreted at runtime by the machine itself. In these languages, interpreters assign the data type to a variable at runtime depending on its value. We don’t even need to specify the type of variable that a function is returning or accepting in these languages. JavaScript, Python, Ruby, Perl, etc are examples of dynamically typed languages.
Example: This example demonstrates JavaScript as a dynamically typed language:
HTML
| <script>            var str = "zambiatek";         var num = 5;         var flo = 12.99;         var num2 = "Welcome to GFG";            function number(n) {             return n;         }            console.log("I'm a string with value: " + str);         console.log("I'm a number with value: " + number(num));         console.log("I'm a floating  point number with value: " + flo);         console.log("I'm a string with value: " + num2);     </script> | 
Output:
 
				 
					



