I disagree about composing "hacking programs", as in it is a vital part to any true network security consultant. Precoded, no, but it does save a lot of time and energy by placing your methods into a usable program interface (ie. testing your webservers and new webservers you create by hand each time is a waste if you can program a scanner which runs those checks for you)
The difference being you know how the tools work, you know how to program them, and can make your own. NOT to be used for illegal activity, but to make your legal job a lot easier.
