Perhaps yours were. I've seen plenty in embedded real-time systems in
the Real World(tm).
Even when memory constraints aren't the limiting factor, there may
be good reason to use a fixed-size array-based queue. Better locality
of reference, for example. Faster access. I might use a fixed-size
array queue in a producer-consumer architecture where, if the queue
fills, the producer should be suspended to give the consumer a while
to catch up; there might not be any advantage to enlarging the queue.
Many real-world applications should impose limits on how much work
they're willing to accept. That often provides for a much more
graceful failure mode than simply taking everything on until the load
becomes unsustainable. The "all data structures must be extensible"
philosophy is part of the mindset that gives us bloatware and
unstable application software.
--
Michael Wojcik (e-mail address removed)
Art is our chief means of breaking bread with the dead ... but the social
and political history of Europe would be exactly the same if Dante and
Shakespeare and Mozart had never lived. -- W. H. Auden