Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Software is often grouped into three main types: system software, application software, and programming software. The distinction is useful for understanding what software does, but it is not a universal count—different standards and communities classify software to suit different purposes.

What is software?

Software is the instructions and related material that tell an information and communications technology (ICT) system what to do. The U.S. Access Board’s Section 508 glossary defines it as “Programs, procedures, rules, and related data and documentation that direct the use and operation of ICT and instruct it to perform a given task or function.” Section 508 terminology gives a formal definition; the exact wording can vary by context.

In everyday terms, software includes programs and the supporting data or documentation they need. It is commonly divided by function: supporting the computer itself, helping users accomplish tasks, or helping developers create programs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What are the three main types of software?

A U.S. Department of Transportation acquisition regulation provides a practical three-part classification. It is a useful explanatory framework, not a rule that every field must use the same way. The regulation’s software definitions distinguish system, application, and programming software.

Type What it does Examples Primary role
System software Provides the platform and common services that hardware and other programs rely on. Operating systems, device drivers, system services Manages or supports the computing system
Application software Performs tasks for users or organizations. Database programs, word processors, spreadsheets Helps users complete a task
Programming software Helps developers write, translate, test, or debug programs. Compilers, linkers, debuggers, interpreters, text editors Supports software development

System software

System software supports the computer platform and the applications that run on it. An operating system is a central example: NIST describes an operating system as software that manages hardware resources and provides common services for computer programs. Drivers and other platform services also fit this role. NIST’s glossary includes definitions tied to their originating documents, so a term’s precise meaning can depend on its source.

Application software

Application software sits above system software and performs a task for a person or organization. Word processors, spreadsheets, and database programs are examples named in the federal definition. Applications may be published separately or bundled with system software.

Programming software

Programming software helps developers create other software. A compiler translates code; a linker combines program components; an interpreter runs instructions; and a debugger helps locate problems. Text editors can also serve a programming role when used to write code.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why do software classifications vary?

“Types of software” has no single fixed, universally agreed number. The three categories above classify software mainly by what it does and who uses it. Other frameworks draw boundaries differently—for example, by distinguishing a platform from an application or by defining categories for a particular community or purpose.

ISO/IEC TR 12182:2015 provides a framework for organizing software categorizations and recognizes that communities can clarify their scope through their own category definitions. ISO/IEC TR 12182:2015 therefore supports treating a taxonomy as a tool for a defined purpose, rather than assuming every classification uses the same labels.

Platform software and software tools

Section 508 terminology also uses “platform software” and “software tools.” Platform software interacts with hardware or provides services for other software; examples include desktop and embedded operating systems, web browsers, and components that host or enable applications. Software tools are primarily used to develop other software.

These terms do not simply add two more items to the three-part list. They classify software along different lines: system software and platform software can overlap, while programming software and software tools describe closely related development roles. The label depends on the framework and the question being asked.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How to identify a software type

  • Ask what it mainly does. If it manages the computer or supplies shared services, it is system or platform software. If it helps accomplish a user task, it is application software. If it helps build other programs, it is programming software or a software tool.
  • Consider its layer. Software that supports hardware or enables other programs is operating at the platform level; a program that performs a task above that layer is an application.
  • Check the classification’s scope. A regulatory, accessibility, engineering, or educational framework may define categories for its own purpose. Use that framework’s definitions when precision matters.

A program can be described differently under different schemes without the descriptions necessarily contradicting each other. For instance, a browser is user-facing software, but Section 508 terminology also identifies web browsers as platform software because they can host or enable other applications.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.