WHAT IS SOFTWARE


      As the world has evolved and brought computers well into everyday life, they have effectively changed the way we live and operate. We now use computers for pretty much everything, school, work, and recreational activities; there isn’t anything a computer can’t do for most people. These machines have simplified our lives quite a bit, and have made them more fun too. They have allowed us to get the things we need to get done, done faster, and therefore given us more time for the things we want to do, as well as having increased productivity. But most people tend to take them for what they are, a box that Is able to do complex equations as well as run video games and programs that we want to use and never look any deeper than that. They never look deeper into how they work, how they do them things that they do, and how we are able to make them do the things we want them to do. In a basic context, the answer to the question is quite simple; computers are able to do all of these things due to two things, the hardware that is configured on them, and the software that is installed on them. These two key elements are what make computers tick; one cannot work without the other. The software is what is most important in this equation however,


      However since1 no one like’s simple to the point answers, we shall delve into it deeper. There are literally dozens of different programming languages, and this is if you don’t include those used for web based development, like HTML, JavaScript, PHP, MySQL, Perl, Python, Ruby on Rails and CSS. While all of these languages are different in terms of syntax, built in functionality and level at which they function they were all conceived and developed with the same exact goal in mind, to help create software and to let us build the functionality we want into our systems through this software. While the languages these programs are coded out of, like C, C++, C#, Delphi, Visual Basic, and Java, are all compiled from plain text format, which means in terms that we can understand, properly syntaxes of course, they are actually transferred to the computer in the form of a very different language, one that on the outside might look quite simple, but it’s actually quite complex. Computers themselves don’t actually understand the code when its written in any of the languages above, to them it’s a foreign language, and that’s why you get errors when compiling, you have to change the language of the code to another language that the computer’s hardware actually understands. That’s what the compiler is used for;it’s used to transfer the code into a language the computer can actually read, which is binary code. Binary is a code specifically used by computers, this is the only format from which it can interpret what you want it to do. Inbinary there are only two character values, 1 and 0, the entire code structure is built up around ones and zeros. Different combinations of them mean different letters, symbols, and ultimately different operations and functions. When you write a program in another language and compile it, the compiler translates that code that you have created in to binary and executes it, if the translation works the program will run, since the computer understand what to do with it. If you’ve made a mistake, the translation will come out sloppy, and the program will crash, since your computer won’t understand the bad translation, and won’t be able to execute the code.


     Every time you use a computer you’re at least using one piece of software, and ultimately hundreds more. For starters, your operating system, w3hether it be Microsoft Windows, Apples OSX, or a Linux/BSD distro, is a piece of software, and at that the most important piece of software, even though it is built up of other tinnier pieces of software. From then on everything you do on your computer involves a piece of software, if you want to go online, the browser is your software, if you want to type a document, you use a word processor, if you want to do some graphic design, fire up Photoshop. The reason why software is so important is because it’s the key to unlocking computers functionality. There are applications for pretty much every purpose. And for the times there isn’t an application, making one is always an option. Everything you do on your computer requires software, even down to moving your mouse, for it to be translated to movement on the screen, there’s software needed. As I am typing this, software is being used to translate the signals sent from the keyboard to the computer itself, inputting the text I choose onto the screen. Years ago software was much simpler then it is today, as was the hardware behind it. We weren’t able to do half the things we are able to do today. Now you can do multiple things, at the same time, with multiple different pieces of software, and it will do it all at the click of a mouse or at the touch of a few keys. Not only can we do many new things with software that we couldn’t do a few years ago, we can do many things at the same time, and do them quicker. There isn’t a limit to what you can do with software now a days, you can watch movies, play video games, do work, listen to music, make art, make more software, anything your heart desires can be accomplished through software.

 

     Computers are broken down into two key aspects, the hardware, and the software. The hardware is the actual physical parts of the computer, the monitor, the keyboard, the casing, the hard-drive, the optical drives, etc. And the software is all of the programs and such that allow you to do what you want with your computer. Some might say that the hardware is the most important aspect of the two; some might say that it’s the software; some might even say it’s about equal. In reality, they both depend on each other. The hardware needs the software to know what it has to do, and the software needs the hardware to be able to run in the first place, it’s a symbiotic relationship. Over the years as the capabilities of the hardware have increased, the abilities of the software have as well, now that we have the power to run incredibly resource hungry programs, we can make software that uses a ton of resources, but also does incredibly difficult and time consuming tasks, in a much faster fashion. This is why software is so important, and why constantly innovating it is important too. It’s what allows us to get the most functionality out of our systems; it’s what allows it us to tailor these systems to our own needs. Without the software we have on our computers today, we could be forever staring at a blank computer screen typing in binary code, hoping we got it right, realizing we didn’t, and starting over again.