A Hacker is a general term in computing that refers to a computer programmer who takes advantage of the faults in the design of computer software or hardware (commonly referred to as "weaknesses") in order to:
1.gain further knowledge about the internal workings of the software or hardware,
2.gain access to some previously locked or hidden function of the software or hardware,
3.disable some previously functioning part of the software or hardware so that it no longer works in the way it was originally intended, or command the software or hardware to perform an additional task that it was not originally designed to do.
As a hacker's activities commonly (but not always) involve reverse engineering or direct modification of the software or hardware without the manufacturer's knowledge or authorisation, hacking often violates existing Copyright and Patent laws in many countries. A hacker's activities also frequently include the exploitation of a weakness in software or hardware to, for example, command the software or hardware to perform a malicious action against an individual or organisation. While reverse engineering software or hardware to gain further knowledge about its internal may not be considered a crime, malicious acts arising from the exploitation of any weaknesses found are considered crimes and are even considered as terrorist acts in some countries. For these reasons, hacking, the activity of a hacker, is considered a crime under law in most countries, especially under United States Law. Numerous hackers have been, and continue to be, prosecuted for their actions, some even becoming infamous through the reporting of their activities in the media.
As the software industry has evolved over time, it has become an industry with many different areas of expertise. Along with the expansion of the industry has come an expansion in the number of specific terms in use, particularly just within the United States, to describe the different types of hackers and the different kinds of software and hardware that they focus on.