Somewhat off-topic, but somewhat related:
Many years ago, when I was doing my degree and computers were still steam powered, a friend and I were writing the same assignment.
He worked for the university, and had a privileged account on the VAX. I had the loan of a 286 from a prof who no longer needed it and took pity on me.
I, being constrained by physical memory, had to write a new kind of sparse array to hold my data. He, having access to lots more virtual memory heap than I, wrote a huge array which wasn't sparse to just brute force it, even though most of the array was useless.
At the end of the day, we both got the same results from our programs. The difference was, I got an A+, because the prof decided he'd steal my sparse array for his own research. My friend got an A, because he got the right outcome, but used a slightly less elegant solution.
Optimizing memory is a dying skill, and in the case of most high level languages, there's too many layers between you and the hardware to know what is actually happening.
But some of us still think back nostalgically to when having a 1MB string was simply not possible, and when we used to have to use our own voodoo to cram into the small amounts of memory we did have. :-P
Now get off my damned lawn with your big fancy strings. ;-)