Expression Problem – looking for a similar standard problem
I'm not sure that the problem is formulated quite as nicely, but the problem of implementing concurrency in an efficient manner has occupied at least as much effort as the expression problem, and prompted a number of solutions, including the use of semaphores and software transactional memory.

I'm certainly not an expert, but I believe the problem of concurrency can be formulated in a similar manner to the expression problem: create language constructs which allow us to simultaneously:


Have sufficient expressivity to create complex concurrent programs, say, a web server.
Be able to have a reasonable assurance that these complex programs will not incur deadlock.