What is Computer Software?
We’ve had a very brief overview of Computer Hardware if you haven’t checked it out feel free to do so. I thought it would give those with a little more curiosity a starting point and is not required to move forward.
Now then, let’s check out a quick overview of Computer Software before getting stuck into checking out our first programming language.
In order to get our Computer Hardware to do anything useful we MUST have software, it is not optional. As soon as we start the computer, the software kicks in and controls the hardware. In general, we can split software into two separate categories:
- System Software
- Application software
The software that controls or provides access to the hardware and general operations of the computer is called the System Software and can be further broken down into 3 categories
- Operating System
This category provides the most crucial collection of programs found on a computer. The Operating System provides many services, from controlling the operations of the Computer Hardware, spawns other programs, allows data to be saved and read, and manages connected devices. In the (distant) future I want to provide an Introduction to AOSP, this is looking at the Android Operating System and we will get ourselves a copy, build it for a commercial device, then flash our version of Android to that device, I did this in one of my jobs and it is some seriously exciting stuff.
- Software Development Tools
This category will be very important to us as we progress, Software Development Tools provide us (Developers) with the ways we create, modify, and test our software. There is a lot for us to look into in this category and I’ll also be putting together a post on the types of IDEs (Integrated Development Environments) and text editors we can use and what languages (I personally think) are worth learning. We’ll even be learning some languages together, so I’m looking forward to getting stuck into that.
- Utility Tools
This collection of programs are used to enhance the operation of a computer by performing very specialised tasks, this includes programs that provide data-backup and scan for viruses. There is currently no intention to delve into this area but we can see how things progress.
I’ll keep this one short because we will be looking into it a lot but, essentially this is almost every other program you find on a computer, and importantly the same software I intend on teaching you how to develop for yourself. So this will be anything from the browser you’re using to read this, any word processing application, the previously mentioned IDEs and text editors, to computer games. This is the category of software that the vast majority of computer users spent their time using. So keep an eye out for the next post where we will look further into Programs themselves and how we can go about making our own.
This was quite a short one but it provides the information I intended and gives us some useful information moving forwards, the next stage will be looking at software and programs in more detail. Check it out here
I welcome feedback, especially at this very early stage, so any improvements you think I can make please get in touch either in a comment below or send me a message and I’ll get back to you.