Поставщики новых компьютерных архитектур регулярно пытаются представить новые модели программирования, например, недавно CUDA / OpenCL для GPGPU, и заменяют C / POSIX в качестве интерфейса управления для параллелизма платформы. (Poss & Koening, AM3: на пути к аппаратному ускорителю Unix для многоядерных процессоров, 2015 г.)
Почему разработчики архитектуры пытаются разработать новые модели программирования для замены C / POSIX для параллельных вычислений? Не подходит ли C / POSIX для многопроцессорных систем, или у первоначальных авторов C / POSIX не было необходимости в параллельных вычислениях во время разработки C / POSIX? Или это тот случай, когда программистам нужно больше возможностей, чем может предоставить C / POSIX, и поэтому они прибегают к новым проектам, например, CUDA / OpenCL и т. Д.?