I've never emulated the ZX Spectum, so I can't speak from experience, but barring suggestions from someone who actually knows what they're talking about, I would suggest trying MESS. It's a popular multi-system emulator, so I presume the interface and such are at least decent, and it has support for the ZD Spectrum. Alternatively, I'd suggest trying any of the emulators listed on EmuWiki's
Sinclair Spectrum page as having been updated in 2010.
As far as running programs goes... Again, I have no experience with the Spectrum but I would assume that any emulator that can run games will be able to run other applications as well. As far as I can tell, the Spectrum runs it's games off the same discs as other applications, thus games are really just a particular type of program (as opposed to some systems, like the MSX, that had a separate cartridge drive for games.)