ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

The Four Types of Computer Software

Updated on April 25, 2018
amuno profile image

Alfred is a long-time teacher and computer enthusiast who works with and troubleshoots a wide range of computing devices.

The four types of computer software include system, application, malicious and programming software. Computer software, together with hardware and humanware components make a complete computer system.

The four types of computer software
The four types of computer software

Computer software, together with hardware and humanware components make a complete computer system. Whereas hardware and humanware are tangible and human, software is data/information, system programs, user applications, instructions, libraries, codes documents and media files, that can only be experienced.

Software can be viewed as text and video; heard as sound; visually manipulated through input/output media, and executed with corresponding commands and gestures. Sample file extensions include, .exe or .dmg for executable and installation files, .doc or .odt for word processors, .jpg or .png for images, .zip for compressed files, .mp3 or .avi for audio/visual files etc.

Once installed on a client computer, software is retained in non-volatile memory commonly known as disk drive. When the computer is powered up, however, the operating system and all running applications, are temporarily loaded onto primary and volatile memory known as random access memory (RAM).

All running software kinds are retained in this memory for as long as they are in use but will not be available once the computer is powered down.

In embedded systems, software is retained in volatile memory at all times, where it provides persistent low-level hardware control.

The Four Types of Computer Software

  • System
  • Application
  • Malicious
  • Programming

1. System Software

This is a type of computer software which controls and coordinates the procedures and functions of computer hardware and applications. It allows harmonious computing coexistence by carrying out the man in the middle tasks which provide the platform onto which secondary software is installed and run.

System software can be categorized under the following:

  • Operating system: to enable direct communication between hardware, system programs and other applications.
  • Device driver: to enable device communication with the OS and other applications.
  • Firmware: to enable low-level device control and identification.
  • Translators: to translate high-level language code to low-level machine code.
  • Utilities: to ensure optimum functionality of devices and applications.

Ubuntu operating system desktop
Ubuntu operating system desktop | Source

2. Application Software

This is a type of computer software meant to accomplish productive and meaningful tasks for the user. Every single application is designed with the end user in mind as contrasted with system and programming languages software, which are concerned with computer management and development.

An application software is designed to run on computer desktops, mobile devices and web browsers.

There are two kinds of applications:

  • General Purpose
  • Custom/Bespoke

MS Word workspace
MS Word workspace

3. Malware

While the overall intention of applications is to be productive, some, however, are laden with derivative motives. They are coded and spread within systems to produce undesired results.

Malware, short for malicious software, is a generic term used to refer to intrusive and cunning code and active content designed by criminals and black hat hackers to cripple functionality of a computer. The end result for the victim is usually data loss or hacker access to private information.

Client computers can also be converted into zombies when they are injected with active bots, for them to partake in wider mission of criminal activities. A remote criminal can use multiple zombie(s) to launch denial of service attack, send spam and download additional malware.

Out of the many, malware codes are intended to spy, fish for private information, hijack browsers, corrupt running applications and seek ransom for stolen data.

A malware script is delivered to a computer as a virus, trojan, rootkit, keylogger, worm, or through mail and websites as adware, spyware, ransomware and scareware. A computer can as well be compromised and used as a zombie to spread malicious codes to other victims around the world.

It will come as an executable .exe and .vbs code, or will attach itself to an executable file and will replicate from one computer to another through a network or Internet.

Users are vulnerable to attacks if they have not implemented good security utility, access targeted email and sites, or fail to update operating system and applications.

Installation of pirate, free and fake software can as well expose a client computer to malware.

An intelligent user also needs to stay alert and prepared when new attacks arrive.

WannaCry, CryptoLocker, ILOVEYOU, Stuxnet, Zeus, Thunderstrike and Petya, are just a few of famous malware examples in the past few years.

4. Programming Software

This is a set of tools used by programmers to create other software like Windows OS and Word processing. Also called languages, they are used to write source codes, debug errors, and maintain and create new software for computers. They are also used to write malicious scripts like viruses and trojans. Programming languages contain formal and comprehensive vocabulary and sets of rules that must be followed.

Source

These types of software are either high or low level, and this is explained by the difference in their complexities. Some languages are also loosely considered mid-level.

Writing software in a low-level language is tough business since the coding must communicate with hardware architecture directly.

It suffices to say that hardware only understands machine code, a language that makes perfect sense to the processor. It is largely made up of 0s and 1s and can present a complex scenario for a developer when the two figures have to be shoveled around endlessly to make meaning. This language requires extensive knowledge of hardware architecture and configuration.

Assemblers and to an extent C, which is sometimes considered mid-level language, form the foundation of low-level language; with the latter being the preferred choice when creating system software, drivers and embedded firmware.

On the other hand, a high-level language is programmer friendly and easier to write since it abstracts the bulk of hardware details in its syntax. In the end, however, a high-level language code must be translated into machine language using low-level languages. A compiler, assembler, and Interpreter form the core of translator languages.

Using an assembler, for example, GOTO 10 will be translated to machine code 10 1000 0001 0000.

Popular examples of high-level languages are Java, Javascript, BASIC, PHP, Visual Basic, Visual C++, Visual Basic, Python, Ruby, Perl, Java.

What is your favorite language?

See results

All high level languages have unique sets of keywords and syntax which they use to organize program instructions.

For example, REAL, BASIC and Visual Basic are the best languages for quick development, because they use point and click interface for faster development.

C++ and Java are object oriented programming languages, and best designed for more complex software assignments that need an entire team of developers.

BASIC provides entry level for software students since it is easy to learn.

Examples of languages and corresponding output of 'Hello World'

In Assembler:

.text
 .global _start
 _start:
 mov $4, %eax /* write system call */
 mov $1, %ebx /* stdout */
 mov $msg, %ecx
 mov $msgend-msg, %edx
 int $0x80
 mov $1, %eax /* _exit system call */
 mov $0, %ebx /* EXIT_SUCCESS */
 int $0x80
 .data
 msg: .ascii "Hello, World\n"
 msgend:

In C:

#include <stdio.h>
   #include <stdlib.h>
         int main(void)
    {
        printf("Hello, World\n");
           return EXIT_SUCCESS;
    }

In PHP:

<!DOCTYPE html>
<html>
<body>

<h1>Hello World</h1>

<?php
echo "Hello World!";
?>

</body>
</html>

Popular software and languages used to write them

  • Windows: C, Assembler
  • UNIX/Linux: C, Assembler
  • Device drivers: C
  • Android: Java, C++
  • OSx and IOS: C, Objective C, Swift, C++
  • Embedded firmware: C, C++, Assembler
  • IOS apps: Swift, Objective-C
  • Windows apps: C#, C++
  • Web applications: Javascript, PHP, CSS, Python, C++, Ruby
  • Browsers: C++, Rust

© 2017 Alfred Amuno

Comments

    0 of 8192 characters used
    Post Comment

    • ChadCrouch profile image

      Chad Crouch 

      14 months ago from South Africa

      Nice article

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)