Originally posted by pohopo
Going off subject a little with the wording...
I know a hacker is supposed to be a skillful programmer, but I find the word used confusing. The literal definition of hack means to chop or break up. However, a skillful programmer creates new things. So to a lame person (like myself) a hacker would be someone that chops or breaks up programs.
And as a person not all that young anymore I honestly don't ever remember a time when hacker only meant a skillful programmer, it always had the second meaning of a person that hacks into computers and software.
Sorry for quoting the full message, but this thread is breaking off into multiple conversations...
The verb "to hack" doesn't just mean to cut, see this definition from the Cambridgedictionary
to manage to deal successfully with something:
I tried working on the night shift for a while, but I just couldn't hack it.
(This in turn could derive from "cutting a path" which is another usage of hack... eg to hack your way through the jungle with a machete.)
It's usally used in the negative as in the above example, but in the positive it means to manage to deal successfully, to come up with a solution, etc etc
It can also be qualified: say you discovered a problem very late in a project life cycle, when it ws too late to redesign the solution. You might find some ugly, inelegant workaround which will get over the hump but will need to be dealt with properly during a subsequent project. That ugly workaround might be called "a quick and dirty hack".
So, if you have a tricky problem, and you figure out a solution, you've hacked it!
This, as far as I know, is the source of the term "hacker" which I'm sure predates programming.
In fact, here is some more etymology of the term which observes that "hack" meaning "to try, to attempt" was first recorded in 1898.
Incidentally, describing a person as a hack as distinct from a hacker is very different. A hack is a person of not above average skill in the task at hand.