A computer is a machine that manipulates data according to a set of instructions.
Although mechanical examples of computers have existed through much of recorded human history, the first electronic computers were developed in the mid-20th century (1940–1945). These were the size of a large room, consuming as much power as several hundred modern personal computers (PCs). Modern computers based on integrated circuits are millions to billions of times more capable than the early machines, and occupy a fraction of the space. Simple computers are small enough to fit into a wristwatch, and can be powered by a watch battery. Personal computers in their various forms are icons of the Information Age and are what most people think of as “computers”. The embedded computers found in many devices from MP3 players to fighter aircraft and from toys to industrial robots are however the most numerous.
The ability to store and execute lists of instructions called programs makes computers extremely versatile, distinguishing them from calculators. The Church–Turing thesis is a mathematical statement of this versatility: any computer with a certain minimum capability is, in principle, capable of performing the same tasks that any other computer can perform. Therefore computers ranging from a mobile phone to a supercomputer are all able to perform the same computational tasks, given enough time and storage capacity.
Main article: Personal computer hardware
The term hardware covers all of those parts of a computer that are tangible objects. Circuits, displays, power supplies, cables, keyboards, printers and mice are all hardware.
|First Generation (Mechanical/Electromechanical)||Calculators||Antikythera mechanism, Difference engine, Norden bombsight|
|Programmable Devices||Jacquard loom, Analytical engine, Harvard Mark I, Z3|
|Second Generation (Vacuum Tubes)||Calculators||Atanasoff–Berry Computer, IBM 604, UNIVAC 60, UNIVAC 120|
|Programmable Devices||Colossus, ENIAC, Manchester Small-Scale Experimental Machine, EDSAC, Manchester Mark 1, Ferranti Pegasus, Ferranti Mercury, CSIRAC, EDVAC, UNIVAC I, IBM 701, IBM 702, IBM 650, Z22|
|Third Generation (Discrete transistors and SSI, MSI, LSI Integrated circuits)||Mainframes||IBM 7090, IBM 7080, IBM System/360, BUNCH|
|Minicomputer||PDP-8, PDP-11, IBM System/32, IBM System/36|
|Fourth Generation (VLSI integrated circuits)||Minicomputer||VAX, IBM System i|
|4-bit microcomputer||Intel 4004, Intel 4040|
|8-bit microcomputer||Intel 8008, Intel 8080, Motorola 6800, Motorola 6809, MOS Technology 6502, Zilog Z80|
|16-bit microcomputer||Intel 8088, Zilog Z8000, WDC 65816/65802|
|32-bit microcomputer||Intel 80386, Pentium, Motorola 68000, ARM architecture|
|64-bit microcomputer||Alpha, MIPS, PA-RISC, PowerPC, SPARC, x86-64|
|Embedded computer||Intel 8048, Intel 8051|
|Personal computer||Desktop computer, Home computer, Laptop computer, Personal digital assistant (PDA), Portable computer, Tablet PC, Wearable computer|
|Theoretical/experimental||Quantum computer, Chemical computer, DNA computing, Optical computer, Spintronics based computer|
|Other Hardware Topics|
|Peripheral device (Input/output)||Input||Mouse, Keyboard, Joystick, Image scanner, Webcam, Graphics tablet, Microphone|
|Output||Monitor, Printer, Loudspeaker|
|Both||Floppy disk drive, Hard disk drive, Optical disc drive, Teleprinter|
|Computer busses||Short range||RS-232, SCSI, PCI, USB|
|Long range (Computer networking)||Ethernet, ATM, FDDI|
Main article: Computer software
Software refers to parts of the computer which do not have a material form, such as programs, data, protocols, etc. When software is stored in hardware that cannot easily be modified (such as BIOS ROM in an IBM PC compatible), it is sometimes called “firmware” to indicate that it falls into an uncertain area somewhere between hardware and software.
|Operating system||Unix and BSD||UNIX System V, IBM AIX, HP-UX, Solaris (SunOS), IRIX, List of BSD operating systems|
|GNU/Linux||List of Linux distributions, Comparison of Linux distributions|
|Microsoft Windows||Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows CE|
|DOS||86-DOS (QDOS), PC-DOS, MS-DOS, FreeDOS|
|Mac OS||Mac OS classic, Mac OS X|
|Embedded and real-time||List of embedded operating systems|
|Experimental||Amoeba, Oberon/Bluebottle, Plan 9 from Bell Labs|
|Library||Multimedia||DirectX, OpenGL, OpenAL|
|Programming library||C standard library, Standard Template Library|
|Data||Protocol||TCP/IP, Kermit, FTP, HTTP, SMTP|
|File format||HTML, XML, JPEG, MPEG, PNG|
|User interface||Graphical user interface (WIMP)||Microsoft Windows, GNOME, KDE, QNX Photon, CDE, GEM|
|Text-based user interface||Command-line interface, Text user interface|
|Application||Office suite||Word processing, Desktop publishing, Presentation program, Database management system, Scheduling & Time management, Spreadsheet, Accounting software|
|Internet Access||Browser, E-mail client, Web server, Mail transfer agent, Instant messaging|
|Design and manufacturing||Computer-aided design, Computer-aided manufacturing, Plant management, Robotic manufacturing, Supply chain management|
|Graphics||Raster graphics editor, Vector graphics editor, 3D modeler, Animation editor, 3D computer graphics, Video editing, Image processing|
|Audio||Digital audio editor, Audio playback, Mixing, Audio synthesis, Computer music|
|Software engineering||Compiler, Assembler, Interpreter, Debugger, Text editor, Integrated development environment, Software performance analysis, Revision control, Software configuration management|
|Educational||Edutainment, Educational game, Serious game, Flight simulator|
|Games||Strategy, Arcade, Puzzle, Simulation, First-person shooter, Platform, Massively multiplayer, Interactive fiction|
|Misc||Artificial intelligence, Antivirus software, Malware scanner, Installer/Package management systems, File manager|
Programming languages provide various ways of specifying programs for computers to run. Unlike natural languages, programming languages are designed to permit no ambiguity and to be concise. They are purely written languages and are often difficult to read aloud. They are generally either translated into machine code by a compiler or an assembler before being run, or translated directly at run time by an interpreter. Sometimes programs are executed by a hybrid method of the two techniques. There are thousands of different programming languages—some intended to be general purpose, others useful only for highly specialized applications.
|Lists of programming languages||Timeline of programming languages, List of programming languages by category, Generational list of programming languages, List of programming languages, Non-English-based programming languages|
|Commonly used Assembly languages||ARM, MIPS, x86|
|Commonly used high-level programming languages||Ada, BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal, Object Pascal|
Professions and organizations
As the use of computers has spread throughout society, there are an increasing number of careers involving computers.
|Hardware-related||Electrical engineering, Electronic engineering, Computer engineering, Telecommunications engineering, Optical engineering, Nanoengineering|
|Software-related||Computer science, Desktop publishing, Human–computer interaction, Information technology, Computational science, Software engineering, Video game industry, Web design|
The need for computers to work well together and to be able to exchange information has spawned the need for many standards organizations, clubs and societies of both a formal and informal nature.
|Standards groups||ANSI, IEC, IEEE, IETF, ISO, W3C|
|Professional Societies||ACM, ACM Special Interest Groups, IET, IFIP, BCS|
|Free/Open source software groups||Free Software Foundation, Mozilla Foundation, Apache Software Foundation|
Leave a comment
No comments yet.