points by nivertech 1 year ago

C pointer arithmetics is a copy-cat of the PDP-11 Assembler’s addressing modes[1]

So it was either inspired or designed for PDP-11, making it cross-platform was afterthought.

It wasn’t designed from the first principles, and it’s unable to express different, newer, and/or more advanced low-level features.

> there is no way to ensure code written today will work exactly as expected 20 years down the road

It’s possible with a language where you specify computations in a declarative way, instead of using increments/decrements, pointer arithmetics, branching and loops.

—-

1. https://en.m.wikipedia.org/wiki/C_(programming_language)#New...