Quais são os motivos históricos dos idiomas C terem pré-incrementos e pós-incrementos?

(Nota: não estou perguntando sobre as definições de pré-incremento versus pós-incremento, ou como elas são usadas em C / C ++. Portanto, não acho que seja uma pergunta duplicada.)

Os desenvolvedores de C (Dennis Ritchie et al) criaram operadores de incremento e decremento por muito boas razões. O que eu não entendo é por que eles decidiram criar a distinção de pré-vs pós-incrementos / decréscimos?

Meu senso é que esses operadores foram muito mais úteis quando o C estava sendo desenvolvido do que hoje. A maioria dos programadores de C / C ++ usa um ou outro, e programadores de outras linguagens acham a distinção hoje bizarra e confusa (NB: isso é baseado apenas em evidências anedóticas).

Por que eles decidiram fazer isso e o que mudou no cálculo que essa distinção não é tão útil hoje?

Para o registro, a diferença entre os dois pode ser vista no código C ++:

int x = 3;

cout << "x = 3; x++ == " << x++ << endl;
cout << "++x == " << ++x << endl;
cout << "x-- == " << x-- << endl;
cout << "--x == " << --x << endl;

vai dar como saída

x++ == 3
++x == 5
x-- == 5
--x == 3

questionAnswers(6)

yourAnswerToTheQuestion