Terse, functional, array languages, designed for the human
mind, allow natural expression of parallelism.
Hiding computational detail from users reduces the frequency
of code faults, while offering tacit parallelism at many levels,
giving compilers the freedom to allocate memory and work
in ways that are appropriate to whatever target system
is currently in fashion. Because tacit expression of parallelism permits
the same source code to be adapted to future systems with no
changes, it also reduces the amount of knowledge a programmer
requires to make effective use of parallel computers.