In F90 implicit declarations are permitted, but undesirable. In general, their use is a very bad programming habit, as it can mask programming errors, and can negatively impact future software development and maintainance. For example, a misspelling of a variable name will result in a new variable declaration, which can be further assigned etc, with the user being totally unaware.
An example (from A.C. Marshall) is
do30i = 1.100
<statements>
30 continue
Instead of a DO loop, because of the misprints, we will end
up with a new real variable, do30i.
In consequence, we will always disable the implicit declarations by placing the command
implicit noneas the first line after any USE statements (i.e. before the declarations sequence). With this command in place, the existence of variables that are not explicitly declared will lead to a copilation error.