Dwarf Fortress is, in many ways, the anti-nethack.
In Nethack, you can parse the source code to figure out nearly any situation, that is, it's a closed, nearly solvable system. (See http://sporkhack.com/design_concept.html for some commentary on nethack being 'solved'.)
Dwarf Fortress, on the other hand, is totally emergent. Toady logs in and plays to check if his coding worked well, that is he goes looking for the situations he is referring to in his code and observes them.
I love them both, but I'm enjoying dwarf fortress more right now.