PDA

View Full Version : How do you differentiate a hacker from a programmer?



Kalixa
April 8th, 2007, 02:49 PM
As far as I know a person who develops for a kernel is called a hacker. But why is that? Is a hacker a person who programs at lower level? So how do you differentiate a hacker from a programmer?

rplantz
April 8th, 2007, 03:42 PM
"Hacker" is one of those words sorta like "bad." Depending on the context and intent, it can mean "good" or "bad." I can recall when "cool" was a hot word. :)

See http://en.wikipedia.org/wiki/Hacker

simplyw00x
April 8th, 2007, 04:05 PM
Hackers don't usually make large programs from scratch. If you're a developer/programmer, it usually means you're working on at least one non-trivial project (bigger than a large bash script) that you started o devote a lot of time to. If you only submit patches etc. (i.e. don't touch the majority of the codebase) of a project, only make smallish scripts (often for personal use) or, heaven forbid, don't code at all, you're usually a 'hacker'.

How to become a hacker: (In the unix sense of the word) http://www.catb.org/~esr/faqs/hacker-howto.html

Frosty Cold Drink
April 8th, 2007, 05:08 PM
Hackers make plenty of large programs from scratch.

Any attempt to define it or differentiate "hackers" in an absolute sense will fail. The term has been so missused and abused over the years, I won't waste my time trying to argue it.

I will say that "hacker" can be equated to "true master", in a 70s kung fu movie sense.

pmasiar
April 8th, 2007, 05:31 PM
"programmer" is neutral term. Programmer is someone with 9-5 job. Hacker is someone striving to learn more in her free time, for the sake of learning. hacker is also someone inventing (and appreciating) clever contraptions, lacking "enterprisey" appeal. It is a person who solves right problems, not necessarily "right" way.

"Hack" is a solution which cleverly uses known obvious features in innovative way, instead of brute force. ie in C-style static variables within functions in python (http://ubuntuforums.org/showthread.php?t=403715), using reference to anonymous list as default value (and modify this list inside the function) is a clever hack.

Hacker is security sense should be properly "cracker", but of course clueless journalists used it in wrong sense.

samjh
April 9th, 2007, 01:56 AM
I dislike the word "hacker", It has no clearly defined meaning, and its lack of definition leads to misuse.

My preferred term is "tinkerer". Someone who tinkers with machines - computers in this context, perhaps writing software to make it do what the tinkerer wants, or breaking them (criminally or otherwise). I think it better carries the original meaning of the word "hacker".

To me, "cracker" is a subset of "hacker", where the person hacks with unlawful intentions. Many people might be offended by this, but I don't think the two are logically exclusive. A cracker is a hacker, but a hacker may not be a cracker, if you know what I mean. ;)

zdude
April 9th, 2007, 03:57 AM
I dislike the word "hacker", It has no clearly defined meaning, and its lack of definition leads to misuse.

My preferred term is "tinkerer". Someone who tinkers with machines - computers in this context, perhaps writing software to make it do what the tinkerer wants, or breaking them (criminally or otherwise). I think it better carries the original meaning of the word "hacker".

To me, "cracker" is a subset of "hacker", where the person hacks with unlawful intentions. Many people might be offended by this, but I don't think the two are logically exclusive. A cracker is a hacker, but a hacker may not be a cracker, if you know what I mean. ;)

You are are right about the term cracker (did a bit of that in my younger days) but a hacker is far above most others, outside of a true software architect. I've been programming for over 30 years and consider myself a "hacker" (a really good one at that) but I've also been an software architect designing some of the most sophisticated systems in the world (not trying to brag) but I still prefer to be consider a hacker since I look at all code as being hacked and refined - that's what I do!
A programmer is someone who paid to do a job (just to be clear).

harun
April 9th, 2007, 11:10 AM
My personal opinion on it:

Hacker: Someone who doesn't always know exactly how to do what they want but tinkers and experiments trying new things until they figure it out. Someone who does this usually gains a lot of knowledge someone who strictly just programs might not get exposed to.

Programmer: Someone who looks at what the end product should be or specific requirement and does what is necessary to accomplish it.

So as previously said, quite hard to define. One could wear both hats at different times throughout the day. I look at their definition more as how one solves problems.

Wybiral
April 9th, 2007, 01:40 PM
My vote...

Programmer: Someone who's experienced with program design patterns, who's read the books. Can write nice functional programs. Often more interested in joining the industry and getting paid then anything.

Hacker: Possibly the above, but is usually more interested in the underlying workings of the programs and more of an experimental outlook on programming. Often open source advocate, and since the culture started in Unix, they're often Linux or Unix programmers.

I'm surprised no ones linked this site: http://www.catb.org/~esr/faqs/hacker-howto.html

simplyw00x
April 9th, 2007, 02:05 PM
I linked exactly that site :D

samjh
April 9th, 2007, 02:14 PM
Interestingly enough, the word "hack" or "hacking" far back to the 1950s, used to describe creating novel and out-of-spec electrical designs, usually modifications of existing designs to suit purposes other than what the design was original intended for.

It seems to have carried its meaning over the years, encompassing telephones, and notably computers.

Wybiral
April 9th, 2007, 03:04 PM
I linked exactly that site :D

Ooops, lol. I missed that one. Interesting read btw.