Static vs Dynamic typed language
Type checking is the process of verifying and enforcing the constraints of types.
- Statically typed programming languages do type-checking at compile-time. Examples: Java, C, C++.
- Dynamically typed programming languages do type-checking at run-time. Examples: Perl, Ruby, Python, PHP, JavaScript.
Deeper understanding:
Extra reference (Advance)