En la mayoría de los usos convencionales, la programación "paralela" se centra en establecer y coordinar múltiples actividades que pueden ocurrir al mismo tiempo, la programación "distribuida" se centra en establecer y coordinar actividades que pueden ocurrir en diferentes lugares, y la programación "concurrente" se centra en las interacciones de las actividades en curso entre sí y con el entorno. Sin embargo, los tres términos pueden aplicarse en la mayoría de los contextos. El paralelismo generalmente implica alguna forma de distribución porque múltiples actividades que ocurren sin restricciones de orden secuencial suceden en múltiples lugares físicos (a menos que dependan de cambios de contexto o efectos cuánticos). Por el contrario, las acciones en diferentes lugares no necesitan tener un orden secuencial específico entre sí en ausencia de restricciones de comunicación.
Las técnicas de programación paralela, distribuida y concurrente forman el núcleo de la Computación de Alto Rendimiento (HPC), los sistemas distribuidos y, cada vez más, casi todas las aplicaciones informáticas. El área de conocimiento PDC ha evolucionado desde un conjunto diverso de temas avanzados hasta un cuerpo central de conocimiento y práctica, que impregna casi todos los demás aspectos de la informática. El crecimiento del campo ha ocurrido de manera irregular en los diferentes subcampos de la informática, a veces con diferentes objetivos, terminología y prácticas, ocultando la superposición considerable de ideas y habilidades básicas que son el foco principal de esta área de conocimiento. Casi todos los problemas con una solución secuencial también admiten soluciones paralelas y/o distribuidas; surgen problemas y soluciones adicionales solo en el contexto de la concurrencia. Casi todos los dominios de aplicación de la computación paralela y distribuida son un área de estudio y/o ingeniería bien desarrollada, demasiado grande para enumerarla.