After reading Paul Graham's essay Hackers and Painters and Joel Spolsky's Advice for Computer Science College Students, I think I've finally gotten it through my thick skull that I should not be loath to work hard in academic courses that aren't "programming" or "computer science" courses. To quote the former:
I've found that the best sources of ideas are not the other fields that have the word "computer" in their names, but the other fields inhabited by makers. Painting has been a much richer source of ideas than the theory of computation.
— Paul Graham, "Hackers and Painters"
There are certainly other, much stronger reasons to work hard in the "boring" classes. However, it'd also be neat to know that these classes may someday inspire me in programming.
My question is: what are some specific examples where ideas from literature, art, humanities, philosophy, and other fields made their way into programming? In particular, ideas that weren't obviously applied the way they were meant to (like most math and domain-specific knowledge), but instead gave utterance or inspiration to a program's design and choice of names.
- The term endian comes from Gulliver's Travels by Jonathan Swift (see here), where it refers to the trivial matter of which side people crack open their eggs.
Writing superblocks and filesystem accounting information: done
- Learning to write English well is important, as it enables a programmer to document and evangelize his/her software, as well as appear competent to other programmers online.
- Trigonometry is used in 2D and 3D games to implement rotation and direction aspects.
- Knowing finance will come in handy if you want to write an accounting package.
- Knowing XYZ will come in handy if you want to write an XYZ package.