alan turing analog computer application software assembly language automation business software c command compiler computation computer computer configuration computer hardware computer program computer programming computer science computing control flow copyright infringement of software database device driver distributed computing educational software embedded system end-user development event-driven programming executable firmware free software foundation free software free software community freeware gnu project graphical user interface hardware high-level programming language history of free software ibm industry integrated development environment list of basic computer programming topics list of computer programming topics list of computer term etymologies medical software microsoft middleware mozilla foundation natural language open source software operating system oracle corporation peripheral personal computer portable document format program programmer programming language proprietary software sap ag scientific software screenshot shareware software architecture software development software development process software ecosystem software engineering software industry software license software patent software patent debate software quality software system software testing source code supercomputer system software task wikiquote windowing system word processor