Anbieter neuer Computerarchitekturen versuchen regelmäßig, neue Programmiermodelle einzuführen, z. B. kürzlich CUDA / OpenCL für GPGPUs, und C / POSIX als Steuerungsschnittstelle für die Plattformparallelität zu verdrängen. (Poss & Koening, AM3: Auf dem Weg zu einem Hardware-Unix-Beschleuniger für viele Kerne, 2015)
Warum versuchen Architekturdesigner, neue Programmiermodelle zu entwerfen, um C / POSIX für paralleles Rechnen zu ersetzen? Ist C / POSIX nicht gut für Multiprozessoren geeignet, oder hatten die ursprünglichen Autoren von C / POSIX zum Zeitpunkt der C / POSIX-Entwurfszeit keine Notwendigkeit für paralleles Rechnen? Oder benötigen Programmierer mehr Funktionen, als C / POSIX bieten kann, und greifen daher auf neue Designs wie CUDA / OpenCL usw. zurück?