Comment by Aurornis
4 months ago
> Few engineers could build a good spell checker without external libraries, giving a database of valid words.
Writing a spell checker that quickly identifies if a word is in a list of valid words (the problem described in the article) is a trivial problem for anyone who has basic algorithms and data structure knowledge. It's the classic example for using a trie: https://en.wikipedia.org/wiki/Trie
The problem described in the article is doing it within very limited storage space. How do you store your list of 200K words on a system with only 256K of memory? This is the challenging part.
> How do you store your list of 200K words on a system with only 256K of memory?
Your hard disk is almost always larger than your RAM. You only load into memory what's needed at the moment. I hope that gives a hint on how to proceed with the above problem.
But you don’t necessarily even have a hard disk. You might only have a 320K floppy. Floppy-only computers were pretty common in the late 80s when I was in undergrad.
Indeed, I remember having to insert a dedicated 5 1/4" floppy in order to run spell check in Apple Writer on an Apple ][e.
Let's replace "hard disk" with "external storage". Shall we?
The article refers to the need to support machines that did not even have hard disk drives.
What's a hard disk?
OK. You have no hard disk, just a 360K floppy.