Larry Wall, one of my mentors, said that laziness is the main virtue of a programmer. We’re lazy, so we write programs to save ourselves time. If we share this program, then we save everybody time. That’s more fun because we get more time to spend doing other things more creative than automated work, which is what the programs are designed to do.