It was a personal insult. Because I felt you'd been persistently disparaging.
However let's drop it now. I may or may not be right about fixed-size
arrays being a sign of bad design, but that's nothing to do with personalities.
I'm right or wrong on the issues.
You are wrong on the issues.
There are times when dynamic sizes make sense, but plenty of occasions
where fixed sizes are appropriate. When you can stick with fixed sizes,
the result is more efficient code, better compile-time error checking,
more consistent run-time behaviour, and fewer possibilities of run-time
errors or abnormal behaviour.
Therefore, /if/ you can afford the resources (typically memory), then it
is almost always better to use fixed sizes that are determined at
compile time. A statically allocated array of fixed size is better in
almost every way than a dynamically malloc'ed array, except that you
cannot (easily) reuse the same memory for other purposes, and you need
to know the sizes at compile time.
This is the reason why high reliability and safety-critical systems
usually ban any sort of dynamic memory. And that is precisely the sort
of system that requires /real/ rigorous development methods, and /real/
good design. When you start using "dynamic this" and "general that",
you end up with a system that cannot be analysed and characterised
properly, and consequently has much greater risks for reliability.
Look around your office. Count the number of processors you have around
you. You probably have something like 20 to 50, of which only one or
two are in PC's or smartphones. Most of the rest will be embedded
microcontrollers, mostly programmed in C, and almost all with fixed
sizes for everything.
(Note that having compile-time fixed sizes does not mean that the sizes
are hard-coded into the algorithms. I think perhaps you have a
fundamental misunderstanding here.)
Now, stop pontificating as though you know how all programming is done,
and don't insult people who do a job that you apparently know nothing
about. I'm sure you are great at /your/ job, and I'm sure you do a
better job by keeping everything dynamic - but don't think that applies
to the rest of the C programming world. It's bigger that you are.