Hardware vs. Software

Corinne Ruckstuhl
Decoding Tech
Published in
5 min readMar 26, 2021

Today, we are going to talk about the differences between software and hardware. Knowing the differences is crucial when you’re trying to solve a problem with a computer. Whenever you encounter an issue with your device, the first thing you should do is trying to figure out if the problem is with the hardware or with the software. Let’s explore both of them and highlight some differences. As a bonus, we also talk about firmware and wetware.

Hardware

Hardware refers to the tangible, physical elements of a computer. It’s anything that you can potentially touch with your fingers and see with your eyes 👀.

Sometimes, this is also called the machinery or the equipment of the computer. Most computer hardware parts cannot usually be seen as they are hidden somewhere very deep in your machine surrounded by your computer’s case. But, if you’d disassemble your computer, you would be able to touch these components.

The hardware itself can also be comprised of other hardware components again — each physical element is part of the hardware. And since the hardware is a physical thing, it is also possible to physically break it, drown it, overheat it, or expose it to other elements. The good thing is, hardware components can usually be swapped out, too!

Hardware elements are designed to do one simple task with a clear specification, and thus, independent hardware components are “dumb” and relatively easy to replace. So when experiencing a problem with your computer, check if something is smoking, a piece or a connection to a component is missing somewhere or something is cracking. If that’s the case, you most probably have a problem with your hardware. 💻

Here are some examples for hardware:

  • Laptop
  • Tablet
  • Central Processing Unit (CPU)
  • Graphics Card
  • Keyboard
  • Mouse

EXERCISE: Can you think of any other hardware components? What are the top 3 hardware components you would never remove from your smartphone? 😎

Software

In contrast to hardware, software is anything that cannot be touched or seen with your eyes — it’s virtual. Individual software is often called a program or app and represents a collection of procedures that performs different tasks on your computer system. The software interacts with you — the user — but also with the hardware that you are using.

Software tells the hardware how to perform a task, e.g. what happens when you click that button on your mouse. The interaction between hardware and software is defined with a format, e.g. regarding inputs and outputs. This means that software also depends on the hardware and programs can have limitations when applying it to different types of hardware components.

Software is extremely flexible and can be updated and modified continuously. With an update, the software can get new functionality or become faster — all that is not possible for hardware without mechanical intervention.

Software systems can be divided into two major classes:

  • System software: Used to run the computer hardware and the computer system itself. Examples include the operating system, device drivers, or diagnostic tools. The system software is mostly already pre-installed on your computer.
  • Application software: Used to accomplish one or more tasks. Examples include web browsing, word processing, and any other task that you can download and execute as an application.

Software is generally written in a high-level programming language. A high-level programming language is (more or less easy) readable by people. Famous high-level programming languages include Python, Java, Ruby, etc. These high-level instructions are converted into “machine-readable” instructions, represented in binary code before the hardware can run the software. We’ll talk more about binary code in a later blog post.

Another characteristic of software is that it lasts forever. As opposed to hardware which eventually breaks down, the information from the software could exist as long as the universe does. It can be destroyed though — if the software is deleted without having copies of it, it is gone forever. You cannot just run to the store and buy a replacement for information that never existed anywhere else (unless it’s some very generic software, of course).

That also makes troubleshooting software problems usually a bit more complex, as they are mostly not straightforward and cannot simply be replaced by a new component. However, most software problems start with an error message that helps you start your troubleshooting process.

Here are a few examples of software:

  • Operating systems like Windows 10, iOS (we’ll talk about operating systems in a later blog post, so stayed tuned 😎)
  • Web browsers
  • Antivirus tools
  • Mobile Apps

EXERCISE: What are programs and applications that you are using every day? How do they interact with the hardware on your device?

Let’s put everything together and look at an example

Like most of us, you have also probably played some kind of computer game when you were a kid on your parent’s computer. This computer game is software. It’s an application running on your parent’s computer, written in some high-level programming language.

In order to run it, it needs hardware, like a processor, memory, a sound device, or a mouse and keyboard for you to interact with the game. You see, both are dependent on each other. Only having the computer game won’t be useful, as you could not interact with it and actually play it. But only having the hardware isn’t really fun either. There would be nothing to play with. Saying which one is more important — hardware or software — is a chicken-or-egg question. There is no real answer to it as both are worthless without each other.

Here is a short recap of the most obvious differences 👀

Differences between Hardware and Software

Bonus

Firmware

Maybe you have also heard about firmware. But what exactly is firmware? Firmware is software specifically designed for a piece of hardware. It is a very specific, low-level program for the hardware to accomplish some very particular tasks. These kinds of programs are (relatively) permanent and you would not install or uninstall them as you do with software. Firmware is considered as part of the device. An example would be the timing and control system for washing machines.

Wetware

Another term drawn from the idea of hardware and software is wetware. Wetware applies to any biological life — such as you, me, your dog, your plant, etc. The term is used to describe the brain’s biologically-based information processing capabilities. It’s called wetware because the human brain consists of 75% water. Originally mostly used in science-fiction, it’s becoming an increasingly popular research field in technology and health science. Researchers try to find ways to integrate human cells with computers. Examples include artificial limbs that can be moved with your mind or artificial cells that are able to smell. 👃

Join us!
We are a diverse & inclusive tech community with a common goal — to empower women across industries & inspire them through learning and networking opportunities. Join us in our mission for gender equality in the tech industry in Switzerland.

--

--

Corinne Ruckstuhl
Decoding Tech

Product @Locatee // Diversity & Inclusion with GirlsInTechSwitzerland