sigh C++ sits on that weird abstraction level where it wants to be a higher level language but it keeps grinding their gears on stuff like pointer sizes, pointer arithmetic or vector sizes and at the same time wants to keep being C compatible and needs that interface with the lower level world Now compare with how numpy does things: you care about the data size but not the implementation. Still, I didn't expect less…
numpy is a python wrapper over a C library written by people who have ground those gears
It would be easy to push complexity up at the level of Numpy/Pytorch/Tensorflow but it mostly gets hidden
(also a lot of it relies on LAPACK which is Fortran - which kinda works with SIMD better than C/C++)