Wednesday, September 26, 2007

What is Hacker?

The Jargon File contains a bunch of definitions of the term ‘hacker’, most having to do with technical adeptness and a delight in solving problems and overcoming limits. If you want to know how to become

a hacker, though, only two are really relevant.

There is a community, a shared culture, of expert programmers and networking wizards that traces its history back through decades to the first time-sharing minicomputers and the earliest ARPAnet experiments. The members of this culture originated the term ‘hacker’. Hackers built the Internet. Hackers made the Unix operating system what it is today. Hackers run Usenet. Hackers make the World Wide Web work. If you are part of this culture, if you have contributed to it and other people in it know who you are and call you a hacker, you're a hacker.

The hacker mind-set is not confined to this software-hacker culture. There are people who apply the hacker attitude to other things, like electronics or music — actually, you can find it at the highest levels of any science or art. Software hackers recognize these kindred spirits elsewhere and may call them ‘hackers’ too — and some claim that the hacker nature is really independent of the particular medium the hacker works in. But in the rest of this document we will focus on the skills and attitudes of software hackers, and the traditions of the shared culture that originated the term ‘hacker’.

There is another group of people who loudly call themselves hackers, but aren't. These are people (mainly adolescent males) who get a kick out of breaking into computers and phreaking the phone system. Real hackers call these people ‘crackers’ and want nothing to do with them. Real hackers mostly think crackers are lazy, irresponsible, and not very bright, and object that being able to break security doesn't make you a hacker any more than being able to hotwire cars makes you an automotive engineer. Unfortunately, many journalists and writers have been fooled into using the word ‘hacker’ to describe crackers; this irritates real hackers no end.

The basic difference is this: hackers build things, crackers break them.

If you want to be a hacker, keep reading. If you want to be a cracker, go read the alt.2600 newsgroup and get ready to do five to ten in the slammer after finding out you aren't as smart as you think you are. And that's all I'm going to say about crackers.


Computer Roles

The computer is the most important invention of the twentieth century. Computer is touching every part of our lives because of the rapidly decreasing cost of personal computers, the increasing dependence of large organizations on large computers and modern society's need to make decisions quickly and accurately. mean while, computer systems are becoming more "intelligent" as we learn more about how to automate human thinking processes. this progress has promoted the spread of computers into activities that there once the preserve of people - activities such as forecasting events from the past trends, controlling production processes in factories, and managing the collection and distribution of informations in organizations. To some this is threatening; to others, exciting. In either case computers in the form of semi-intelligent machinery are altering the social and economic order of modern institutions. We find our society heavily dependent on computers for everything from farming to space travel. The computer is here to stay, and will continue to increase its influence on our lives throughout the foreseeable future.

Programming Concept

The basic concepts of modern programming are refinements of Zuse's programming language. These concept are put to work everyday by contemporary programmers who convey ideas called algorithms to computers in a notation called a programming language. An algorithms is a step-by-step list of instructions for solving a problem. for example an algorithm could be design to do calculation, move data, or control a monitor. Algorithms are express in programming language, a formalized notation that allows algorithms to be represented in a rigorous and precise way. There is little room for an ambiguous or imprecise idea in an algorithm. Therefore, most programming languages differ significantly from natural languages like English. Word processing and spreadsheet software are elaborate algorithms written in a language that a computer "understands". But occasionally a problem crops up that cannot be solved efficiently with a prepackaged program. When this occurs, the only alternative is to write a new program that solves a problem.