Software development in the 21st century has really turned programmers into a bunch of softies (no pun intended). In the old days of computers, developers had to solder programs into the computer by hand. Complex calculations could take days to set up, and one misplaced wire meant lead poisoning or worse. The suffering was real, and older issues of Popular Electronics are riddled with articles by former programmers who went crazy in their attempt to craft one more ballistics calculation algorithm.
Life improved tremendously for programmers when John von Neumann and others suggested that a computer could store internally the logic for an algorithm, and process it directly from memory instead of through hard-wired configurations. Engineers were soon putting their programs onto punch cards and paper tapes. The danger of lead poisoning was quickly replaced by the larger evil of paper cuts.
Punch cards were greatuntil you dropped your stack that took you hours or days to assemble. Some programmer somewhere dropped one too many card stacks and proclaimed, "That's it! I'm going to invent the hard disk and related technologies such as IDE and SCSI. Sure I'll become fabulously wealthy, but at least I won't have to deal with these stupid cards anymore."
And thus was born the file system, the structured storage of programs and information on a disk surface. File systems have been a part of Microsoft technologies since Bill Gates first wooed IBM. It's no coincidence that the "DOS" in "MS-DOS" stands for Disk Operating System. Bill knew how essential file systems were, and so do you.
In this chapter, we'll talk about interactions with files and directories, the main units of storage and organization in the Windows file system. We'll also see some of the technologies and features .NET provides to manipulate files and their content. Just make sure you turn the pages carefully; I wouldn't want you to get a paper cut.