I have read someone on Facebook write « any language can be an abstraction of/over C »… (it can be a requirement if a language: building other languages…)… and I disagree ! A little S : String := Get_Line; can’t be expressed in C. Ada can allocate a variable length array in the stack, not C !
Yep, those solved quite a few problems for me in C.
I think they made them optional to support in the standard at c11. At some point there was some talk about deprecating them but I don’t know if that ever happened officially
I liked VLAs, but I do understand why the C language community moved away from them since there isn’t any stack checking in C (Ada does this, so they aren’t as dangerous for Ada)