¿Qué modelo de programación paralela recomienda hoy para aprovechar los muchos procesadores de puntaje de mañana?

Si estuviera escribiendo una nueva aplicación desde cero hoy, y quisiera que escalara a todos los núcleos que podría lanzarle mañana, ¿qué modelo / sistema / idioma / biblioteca de programación paralela elegiría? ¿Por qué

Estoy particularmente interesado en las respuestas a lo largo de estos ejes:

Productividad del programador / facilidad de uso (¿pueden los mortales usarlo con éxito?)Dominio de aplicación de destino (¿en qué problemas no es bueno?)Estilo de simultaneidad (¿admite tareas, canalizaciones, paralelismo de datos, mensajes ...?)Mantenibilidad / a prueba de futuro (¿alguien lo seguirá usando en 20 años?)Performance (¿cómo se escala en qué tipos de hardware?)

stoy siendo deliberadamente vago sobre la naturaleza de la aplicación en anticipación de obtener buenas respuestas generales útiles para una variedad de aplicaciones.

Respuestas a la pregunta(22)

Su respuesta a la pregunta