Static versus strong typing
Static and strong typing are often confused and used interchangeably. However, they describe two different properties of a programming language. A statically typed language assumes that all variables must have either a manifestly declared data type (like in Fortran or C) or a data type inferred from their use (like in Julia, Nim, or Rust) at compile time. […]