My IDE writes a few kB of data every second as long as I'm editing files (auto saves and compiles very frequently). Should I be concerned about the harm it may be causing to my harddrive?
By theory and principal, the correct response would be a yes. The more "things" the hard drive must do, the more wear-n-tear it causes. This is inevitably what causes all hard drive failure - a weardown of some component that causes the drive to either operate irregularly or cease to operate at all. Often times it's the circuit board on the back that goes out, but that's out of scope for this question.
In practicality, the answer is no. Modern drives and OS's do a lot of "magic" in attempts to preserve the lifespan of the drive, increase capacity and increase performance while reducing the total energy footprint. Today's drives are remarkable when compared to drives from even 5 years ago (not even talking about SSD's here, that's a whole 'nother story). Some of this magic included buffering writes until it's an opportune time to actually do the write. Many file systems (
HFS+ included) lie to the user and tell you the file is "written" as soon as the transfer/download/save dialog disappears. In reality the drive may have up to xMB of cached memory still not written to the drive. The drive decides when it's best to write it depending on the drives overall
I/O load at that moment. When it's clear to do a slow write routine, it'll go write it. This is why a sudden power loss can corrupt data on your computer. So your small writes may be pooled together with other writes that where going to happen anyways. It's true your write may take the r/w head to a new part of the platter (it's moving around more), but it's less wear than a write routine allocated purely to it's self. This is a gross over-simplification of how the drives work, but you get the gist.
Anyways, all this means is today's drives are very robust and the small load your IDE can sling will not even phase your drive. Now, this is all relative to whatever else is running on your computer. If you're hammering against a
HSQLDB, etc File-Based database on your drive from your IDE, ya... you'll notice. ;-P
Back Your S**t Up! Or you will loose it! If it's not in at least 3 places, it does not really exist! For your code, it should be in your file system (from IDE), in a Version Control Repository - preferably remote (Github, Bitbucket, etc) and on some other backup of your computer's hard drive (external hard drive, USB drive, Carbonite remote backup, Mozy remote backup, etc...).