Intoduction: Machine Input Output Human History Astrolabe Abacus
Intoduction: Machine Input Output Human History Astrolabe Abacus
A computer is a machine that is able to take information (input), do some work on or make changes to the information, to make new information (output). Computers have existed for much of human history. Examples of early computers are the astrolabe and the abacus. Modern computers are very different from early computers. They are now very powerful machines that are able to do billions of calculations every second. Most people have used a personal computer in their home or at work. Computers are useful for many different jobs where automatic functions are useful. Some examples are controlling traffic lights, vehicle computers, security systems, Washing machines and Digital Televisions. A person (called a user) can control a computer by telling it to do things. Some ways of controlling a computer are with a keyboard, mouse, buttons, touch screen. Some very new computers can also be controlled with voice commands or hand gestures. Computers can be designed to do anything with information. Computers are used to control factories, which in the past were controlled by humans. They are also in homes, where they are used for things such as listening to music, reading the news, and writing. Modern computers are electronic machines. A computer is only useful if it has both hardware and software. Hardware is the physical parts the computer is made of - for example keyboard, mouse, screen, tower. Software is the computer programs (mathematical instructions). Software uses the hardware by taking input and changing it in to useful output. Computers are able to do billions of calculations each second. They can do mathematical arithmetic very quickly but computers do not really "think". They only follow the instructions in their software programs. Computer programs are designed or written by computer programmers. Computer programs can be written in the computer's own language called machine code. Machine Code has only a few instructions and is based on logic and Mathematical arithmetic. Using machine code is difficult for most human programmers. Today, programmers usually write programs using a programming language like C++, Java or BASIC. These programming languages can be translated in to machine code later using a program called a compiler.
History of Computers
Invention
Nobody knows who built the first computer. This is because the word "computer" used to mean a person who did math as their job (a human computer). Because of this, some people say that humans were the first computers. Human computers got bored doing the same math over and over again, and made tools (mostly mechanical calculating devices like abacuses) to help them get the answers to their problems. It is said that the inventor of the 'modern' computer was Charles Babbage. people made machines that did those same things over and over. This part of computer history is called the "history of automated calculation," which is a fancy phrase for "the history of machines that make it easy for me to do this same math problem over and over without making mistakes." The abacus, the slide rule, the astrolabe and the Antikythera mechanism (which dates from about 150-100 BC) are examples of automated calculation machines.
Programming
"The history of machines that I can order to do different things if I know how to speak their language." One of the first examples of this was built by Hero of Alexandria (c. 1070 AD). He built a mechanical theater which performed a play lasting 10 minutes and was operated by a complex system of ropes and drums. These ropes and drums were the language of the machine- they told what the machine did and when. Some people argue that this is [1] the first programmable machine. Most historians agree that the "castle clock", an astronomical clock invented by Al-Jazari in 1206, is the first [2] known programmable analog computer. It showed the zodiac, the solar and lunar orbits, a crescent moon[3][4] shaped pointer travelling across a gateway that made some doors to open every hour, and five robotic musicians who play music when levers hit them. The length ofday and night could be changed (AKA re-programmed) every day [2] [who?] in order to account for the changing lengths of day and night throughout the year. Some people consider Ada Lovelace to be the first programmer.
As time went on, computers got more and more popular. And that stands out at the beginning. This is because people get bored easily doing the same thing over and over. Imagine spending your life writing things down on index cards, storing them, and then having to go find them again. The U.S. Census Bureau in 1890 had hundreds of people doing just that. People got very bored and very frustrated, and would say, "There HAS to be an easier way to do this." Then a clever person worked out how to make machines do a lot of the work. Herman Hollerith figured out how to make a machine that would automatically add up information that the Census bureau collected. The Computing Tabulating Recording Corporation(which later became IBM) made his machines, and everyone was happy. At least, they were happy until their machines broke down, got jammed, and had to be repaired. This is when the Computing Tabulating Recording Corporation invented tech support. Because of machines like this, new ways of talking to these machines were invented, and new types of machines were invented, and eventually the computer that we all know and love today was born.
Types of Computers
There are three types of computers: personal computers, mainframes, and embedded computers. A "desktop computer" is a small machine that has a screen (which is not part of the computer). Most people keep them on top of a desk, which is why they are called "desktop computers." "Laptop computers" are computers small enough to fit on your lap. This makes them easy to carry around. Both laptops and desktops are called personal computers, because one person at a time uses them for things like playing music, surfing the web, or playing video games. There are bigger computers that many people at a time can use. These are called "Mainframes," and these computers do all the things that make things like the internet work. You can think of a personal computer like this: the personal computer is like your skin: you can see it, other people can see it, and through your skin you feel wind, water, air, and the rest of the world. A mainframe is more like your internal organs: you (hopefully) never see them, and you barely even think about them, but if they suddenly went missing, you would have some very big problems. There is another type of computer, called an embedded computer. An embedded computer is a computer that does one thing and one thing only, and usually does it very well. For example, an alarm clock is a embedded computer: it tells the time. Unlike your personal computer, you cannot use your clock to play Tetris. Because of this, we say that embedded computers cannot be programmed, because you cannot install programs like Tetris on your clock. Some mobile phones, automatic teller machines, microwave ovens, CD players and cars are examples of embedded computers.
All-in-one PC
All-in-one computers are desktop computers that have the CPU and speaker in the same case as the monitor. Apple has made several popular examples of all-in-one computers, such as theoriginal Macintosh of the mid-1980s and the iMac of the late 1990s and 2000s.
Evolution of C++
Computer languages have undergone dramatic evolution since the first electronic computers were built to assist in telemetry calculations during World War II. Early on, programmers worked with the most primitive computer instructions: machine language. These instructions were represented by long strings of ones and zeroes. Soon, assemblers were invented to map machine instructions to human-readable and -manageable mnemonics, such as ADD and MOV. In time, higher-level languages evolved, such as BASIC and COBOL. These languages let people work with something approximating words and sentences, such as Let I = 100. These instructions were translated back into machine language by interpreters and compilers. An interpreter translates a program as it reads it, turning the program instructions, or code, directly into actions. A compiler translates the code into an intermediary form. This step is called compiling, and produces an object file. The compiler then invokes a linker, which turns the object file into an executable program. Because interpreters read the code as it is written and execute the code on the spot, interpreters are easy for the programmer to work with. Compilers, however, introduce the extra steps of compiling and linking the code, which is inconvenient. Compilers produce a program that is very fast each time it is run. However, the time-consuming task of translating the source code into machine language has already been accomplished. Another advantage of many compiled languages like C++ is that you can distribute the executable program to people who don't have the compiler. With an interpretive language, you must have the language to run the program. For many years, the principle goal of computer programmers was to write short pieces of code that would execute quickly. The program needed to be small, because memory was expensive, and it needed to be fast, because processing power was also expensive. As computers have become smaller, cheaper, and faster, and as the cost of memory has fallen, these priorities have changed. Today the cost of a programmer's time far outweighs the cost of most of the computers in use by businesses. Well-written, easy-to-maintain code is at a premium. Easy- to-maintain means that as business requirements change, the program can be extended and enhanced without great expense.