
Statically Typed Languages
Statically typed language needs to define variable data type before compiling the program Because the compiler doesn’t understand the type of variable value whether it’s string or integer.
Example:
public class Main
{
public static void main(String[] args) {
// datatype variableName = value
String variableName = "Hello World!";
System.out.println(variableName);
// Output: Hello World!
}
}
As there is a String data type assigned this is why it’s not showing any error but when there will be no data type the compiler will return an error.
Example:
public class Main
{
public static void main(String[] args) {
// no datatype assigned
variableName = "Hello World!";
System.out.println(variableName);
}
}
Output:
Main.java:12: error: cannot find symbol
variableName = "Hello Worlds";
^
symbol: variable variableName
location: class Main
Main.java:13: error: cannot find symbol
System.out.println(variableName);
^
symbol: variable variableName
location: class Main
2 errors
It will return can’t find symbol error due to not defined data type, There are a few languages that are statically typed languages such as C, C++, C#, and Java.
Dynamically Typed Languages
Dynamically typed languages don’t need to define variable data type before compiling the program, Compiler or Interpreter automatically identifies the value’s data type and returns the output.
Example:
#!/bin/python
variable_name = "Hello World!"
variable_name_2 = 10
print(f"{variable_name} : {type(variable_name)}\n\n{variable_name_2} : {type(variable_name_2)}")
# Output:
"""
Hello World! : <class 'str'>
10 : <class 'int'>
"""
About the author
Security Engineer, DevSecOps
Comments
Join the discussionNo comments yet. Be the first to comment.
Details of references
In my other series, I write my personal note as a blog so when I mention some things I add references inside blogs so I created this series to write the details.



