Computer systems are evolving away from the conventional Von
Neumann model of one CPU plus one RAM. Besides long-established
distributed architectures we have a rapid expansion of GPU-based
general-purpose computing and the emergence of FPGA-based reconfigurable
computing. Increasingly, access to the computational platform is not
physical but remote, "in the cloud". Along with new platforms, a
plethora of new special-purpose languages and dialects are being
introduced. Is platform-dependent programming throwing us back to the
times of machine-dependent programming? Is there any hope for
general-purpose architecture-independent programming languages? My
research is about giving a positive answer to the second question.