Artificial intelligence
A computer will solve problems in exactly the way they are programmed to, without regard to efficiency nor alternative solutions nor possible shortcuts nor possible errors in the code. Computer programs which learn and adapt are part of the emerging field of
artificial intelligence and
machine learning.
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.
History of computing 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 |
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.
Computer 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 7 |
DOS | 86-DOS (QDOS), PC-DOS, MS-DOS, DR-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, Aqua |
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
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.
Programming languages
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 |
Commonly used Scripting languages | Bourne script, JavaScript, Python, Ruby, PHP, Perl |
Professions and organizations
As the use of computers has spread throughout society, there are an increasing number of careers involving computers.
Computer-related professions
Hardware-related | Electrical engineering, Electronic engineering, Computer engineering, Telecommunications engineering, Optical engineering, Nanoengineering |
Software-related | Computer science, Desktop publishing, Human–computer interaction, Information technology, Information systems, 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.
Organizations
Standards groups | ANSI, IEC, IEEE, IETF, ISO, W3C |
Professional Societies | ACM, AIS, IET, IFIP, BCS |
Free/Open source software groups | Free Software Foundation, Mozilla Foundation, Apache Software Foundation |