@mratsim For me the C++ example is not a variable length array since it cannot change size of the declaration. Why should it blow up the stack? On a 64bit machine the stack segment can be really large and it can grow. I have definitely used objects of several megabytes on the stack.
And each reasonable programmer would check the size of _N_ before using it for allocating arrays.