Sign up for our newsletter and get the latest HPC news and analysis.

What is the benefit of domain-specific languages?

For starters, domain-specific languages make users more productive than general-purpose languages and give them more flexibility than a simple GUI. Consider what SQL gives to database managers, or Excel to finance professionals. And while C++ has features like polymorphism and operator overloading that allow for “syntactic sugar” in mathematics libraries, most engineers will prefer MATLAB because, if for no other reason, it’s interactive.

But these languages have an added bonus that the HPC community should now take seriously: because they are limited, domain-specific language are easier to optimize. While ACCELLERANT tries to parallelize any and all code, Star-P sticks to just matrix operations. After all, why should a non-programmer bother with stream computing, electronic systems-level design, and partitioned global address spaces when all he wants is to crunch numbers faster?

Before anyone decries dynamically typed languages for their perceived low performance, just keep in mind that many popular websites (massively distributed computing infrastructures) are actually programmed in ASP or PHP. Given proper optimization, a domain-specific language can be fast for both the computer and the user. So here’s to new languages for professionals.

Resource Links: