The pandora suffers greatly from only having 512 MB internal storage. Just look at the clusterfuck that is the code::blocks PND. Had we had storage to install those tools properly, things would've been an awful lot better.
In my experience the 512Mb is not a significant Problem (actually notaz's gcc/g++ package fits nicely including the dev packages for firmware libraries). There are very few things that absolutely have to be installed at fixed locations under /bin, /usr, /lib, or /etc. Pretty much everything can (due to diverse unix history) easily live on an SD card and be made accessible using the appropriate ENV variables. In the worst case a couple of symlinks to the SD card will help (though it is often easier - and less ugly - to fix the offending package to not use hardcoded paths).
The larger problems for me were that some newer packages cannot easily coexist with the firmware versions.
PS: one significant problem to overcome was that /bin/sh is (was? haven't checked the latest firmware update) suid which kills LD_LIBRARY_PATH; I've fixed that by having a non suid copy of busy box to which /bin/sh is linked
Serious question: Is that normal use? I don't mess with that stuff, so it isn't normal for my use, but I don't know what everyone else does.
It's normal use for me and it mostly hasn't been a problem (I had problems getting the necessary prerequisites for a newer gnumeric built, but that was due to the old firmware glib version at the time; might be easier today)