Why are programs like Microsoft Excel, Gnumeric and OpenOffice.org Calc designed with hard-coded limits on the number of rows and columns? This seems like an archaic programming technique from when spreadsheets were considered a demanding application and dynamic memory allocation was considered "high-end". I would guess that it indicates that some resource is being statically allocated, with the assumption that "noone will ever need more than that", thus introducing a very arbitrary limitation into the application. What is the logic behind it?
Note: I know some people are going to argue that this question isn't programming related. Here's a preemptive rebuttal: This question is programming-related because it's asking why a pervasive and seemingly obsolete programming methodology is used.