On Fri, 30 Oct 2015, Guy Sotomayor wrote:
Him: I allocate an array of structures and I read them off of disk into the 
array.
Me: How big are the structures?
Him: About 4K
Me: How many are you allocating?
Him: 100,000
Me: Rolls eyes.  That’s 4GB.  We don’t have 4GB on the embedded platform.  You 
don’t even have that on your workstation.
Him: But it works there and not on the embedded platform.
Me: We don’t have paging turned on in the embedded platform.
Him: Can’t we turn it on?  It makes my code so simple!
. . . I still think a 3 tape sort should be a required early assignment (learn that not everything can fit into memory at once).

I struggled with that for 30 years.
Third semester programming students in Data Structures and Algorithms classes still insisted on trying to load the whole file into memory. Even in the simplistic example that I gave them of a business appending a record to an already sorted file and then sorting it, when they should have sorted just the appended records and then done a two file input, one file output merge, with only two records in memory at a time.

I always assigned them a problem of writing a sort for a file/dataset too big to fit into memory. They literally refused to understand that a dataset could exist that would be too large to fit into memory. A couple of students wrote a letter to the college administration complaining about me and the department and our "out-dated" curriculum, insisting that "in the real world, the proper solution to a file too big for memory is to replace the computer with a bigger one." I was actually called on the carpet to answer the charge! That was trivially easy when I pointed out to the chancellor how much it would COST to equip the student homework computer labs with computers capable of holding a national telephone directory in memory.

Our industry is saturated with such refusal to understand. Consider Microsoft's "throw hardware at the software problems" argument that if their software runs too slowly on your computer, then that shows that YOUR COMPUTER (and you) is inadequate, and you should get a faster computer.

--
Grumpy Ol' Fred                 ci...@xenosoft.com

Reply via email to