That's obvious. Programmer is somebody who create source code. Hacker is someone who learn alot about IT stuff and knows multiple times more than typical coder. Someone who can solve real problem. Programming is a craft, hacking is an art.
It's not obvious. The word has become ambiguous. It was once used to describe a certain sort of programmer, but can mean just about anything now.