We implement lattice QCD using the Fortran 90 language. We have design
ed machine independent modules that define fields (gauge, fermions, sc
alars, etc...) and have defined overloaded operators for all possible
operations between fields, matrices and numbers. With these modules it
is very simple to write QCD programs. We have also created a useful c
ompression standard for storing the lattice configurations, a parallel
implementation of the random generators, an assignment that does not
require temporaries, and a machine independent precision definition. W
e have tested our program on parallel and single processor supercomput
ers obtaining excellent performances.