The word hacker is used by most programmers to refer not to a person who "hacks" into systems illegally, but one who is interested generally in programming. Thus, the word hacking comes to mean the activity of programming, or of applying computer science to a problem in order to solve it.
This is at odds with the common, media, use of the word to mean the pejorative illegal act of breaking into computers remotely. For this, most programmers use the word cracking. Whilst there's no reason why the two words can't coexist, since the meanings are almost equal and opposite, it's a long-standing point of contention. For more on the issue, see the jargon file.
Sean B. Palmer