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.

<-- back