New programming languages and
models, beyond C and FORTRAN, will
help. Given the applications software
already in place for technical computing,
a radical departure is not realistic.
Programming features found in new
languages (such as Chapel and X10)
have already had an indirect effect on
existing program models. Existing programming
models (such as OpenMP)
have already benefited through recent
extensions for, say, task parallelism,
accelerators, and thread affinity.
Domain-specific languages (DSLs)
are languages that specialize to a particular
application domain, representing
a means of extending the existing
base-language by hosting DSL extensions.
Embedded DSLs are a pragmatic
way to exploit the sophisticated analysis
and transformation capabilities of
the compilers for standard languages.
The developer writes the application
using high-level primitives a compiler
will transform into efficient low-level
code to optimize the performance on
the underlying platform.