Being able to program a computer or create software is akin to knowing another language. This is not something that comes easily to everyone, and in the very beginning, it was nearly impossible for most to master.
There was no conception of computing in the worlds of our ancient ancestors. Their conceptions of computing were limited to math skills, and the technology used was an abacus. Simple devices that used pegs and cams were later used to control movements, but this is a far cry from what the world is used to today.
Real computer programming can be traced back to the 1880’s and the recording of data that was then read by a machine. This was accomplished using simple punched cards, and became the foundation of the data processing industry. In 1896 the Tabulating Machine Company was founded which would later turn into a small company we now know as IBM.
Before the 1950’s it was likely to find that each machine was using a different set of instructions, even when they served the same purpose. This was due to each program being painstakingly created individually, which led to slight variations from one machine to the next.
You could liken those early days to trying to use your beard trimmer without any real beard style in mind. You hit the power button, and get to work, keeping your fingers crossed that your beard will turn out all right. Programmers were working willy-nilly, making up stuff as they went along and hoping all went well. The only difference is that when you mess up with your beard trimmer you just shave off the whole thing, and wait for it to grow back. This haphazard method of programming led to expensive machinery not having available programming to make it run right.
1954 saw the introduction of FORTRAN, and the computer programming world changed for forever. This had an actual functional implementation, rather than just design on paper. Punch cards were still used, but as computer hardware decreased in price, programs could be created by typing them directly onto the computer. This led to editors that could make changes and corrections, and eventually moveable storage in the form of discs that let one program be installed on a number of units at a time.
We have certainly come a long way, although it is not unlikely that 50 years from now, our grandchildren will be looking at our programming as if it is archaic. The technological age is in full swing, with changes and improvements happening every second. The next time you are frustrated about trying to read code, just remember the punch cards. At least today, programming is like trimming your beard, where if you mess up you just hit delete and start again.
We hear and use the term so much in our lives now, but how much do you really know about software? Is it only pertinent to computers or are their other applications where it is being used? What follows is the bare basics of what software is and how it works:
Simply put, software is any set of instructions that can be read by a machine and direct a computer to perform a specific operation. If computers had legs for example, software would be needed to tell it to walk. Those legs are the hardware, or physical components of the machine reliant on the software.
Computer software can be computer programs, libraries of information and documentation that is stored in the memory. For the most basic of purposes, the software code is nothing more than machine specific language that only the processor it works with can understand. This is similar to the central processing units found in automobiles. If the same data from car sensors were to be sent to your home computer, it would have no way of processing that information.
Some software is written in a machine language that is very difficult for a human decipher. Most today however is written in programming languages that are more efficient for a human to use as they resemble language.
There are 3 different types of software that you should be aware of:
- Application software – This is your apps, which allow your computer controlled devices to perform functions outside of their original intent. These types of software programs are enhancements to an already existing software installment.
- System software – this is machine specific software, or dependent on certain hardware. For example, an ultrasound machine is a computer at heart, with the ultrasound technician taking images of anatomy. That ultrasound system is dependent on a very specific system software to work properly. That is part of the reason why only an individual who has attended ultrasound school should operate the machine.
- Malicious software – Sometimes called malware, malicious software is specially designed for the sole purpose of harming computers and computer like devices. It many cases it is capable of entering a computer system and destroying any files and other software to render the machine useless.
Although to program software is something else entirely, this provides you with a basic understanding of what software is and how it is being used all around you, not just when you are at your desk top.
There is a lot going on in your electronic world taking place with wireless technology. Not battery operated, but magically, turning on TVs, connecting your cell to someone elses, and keeping your dog from running into the street. Has it ever occurred to you how this is all able to work with such ease?
At its base, wireless technology involves two elements, information and a method of carrying that information from one place to another. First take a look at the types of information:
- A television remote – This sends control command information to your TV, telling it which channel to go to or how loud to make the volume.
- Remote garage door opener – Your garage door opener is also sending control command information, telling the door to open or close.
- Wireless pet containment system – Uses control command information to send a small shock to a pet who triggers the wireless network.
- A wireless sound system – This sends audio information to a set of wireless speakers or headphones.
- Wireless network connected laptop computer – This is sending entire packets of complex data, letting it communicate with other computers on the same network.
- Cell phone system – moves packets of telecommunications information at the same time on a various channels in large quantities.
For a true wireless system to work, the information must be able to travel in one direction like with the K9 containment system, or back and forth, like with a Bluetooth. This allows for the two points to “talk” to one another. Regardless of the information, or how complex it is, it still needs something that can carry it.
Electromagnetic energy can be radiated and made to pass through air, space, water and many solid objects. What makes it even better is that it can accomplish this even when one of the objects is moving, such as your dog Fido as he tries to run out of your yard. The pet containment system is one of the best examples of why this electromagnetic energy is superior. Trees, sheds and even cars may be between the base unit and your running dog, but the wireless pet containment system will still work.
Types of electromagnetic energy include:
- Infrared light
- Radio waves
While these are all named differently, they still are all parts of the same thing, which is the continual electromagnetic spectrum.
The size of the amount of data before transferred is what will decide which method is used. Microwaves are used for high levels of information such as with a computer system, while radio waves will be used for the wireless pet containment system.
The whole concept is not nearly as complicated as you might think, yet it controls a vast portion of our daily lives. And with our continued obsession with mobile devices and wearable tech, the spectrum is only going to get larger.
Our computers would not be of much use to us without the software on them. We need programs to do all sorts of things, from creating documents to editing photos. However, some of the programs needed to do these things can be quite expensive. If you are looking for an alternative way to do the things you need to do on your computer, without spending any money, then you have come to the right place. Below are 4 great software options that you don’t have to pay for.
- Open Office – For most of us, Microsoft Office is the default program to do any sort of document creation on our computers. We use it to create text documents, slideshows, and spreadsheets. To get this entire software package though, you will have to spend a bit of money. A better alternative is Open Office. Open Office provides you with all of the tools that normally come with Microsoft Office, but for free. While some of the more advanced features available in Microsoft Office are unavailable, you can still do a majority of the things that you normally would. Try it out, and see how great it is, without spending a penny.
- GIMP – For photo editing work, we suggest going with GIMP. Most people think that Photoshop is the only way to go. This program is so popular that is has essentially become another word for photo editing. How often do you hear “That picture was Photoshopped”? Just because this is the most popular program, doesn’t mean it is the only one. You can save yourself a ton of money, and not miss out on too many features, but going with GIMP. There is a bit of a learning curve involved, but there are also plenty of guides online that will help you to learn how to use it. Before long you’ll be editing photos with ease.
- Google Drive – Google Drive is a free alternative for cloud storage and document creation. As long as you have a Google account (which is free) you can use Google Drive to store your files on the cloud, or even create text, coding and spreadsheet documents. Google Drive comes with programs to do just about everything you can with Microsoft Office, but with a few less features. You can then save these files on your cloud, and open them from anywhere. The only time you have to pay for Google Drive is if you want to upgrade the amount of storage you are given. Otherwise, this service is completely free to use.
- Thunderbird – If you want an email client that can handle several email addresses, and provide you with a ton of other features, we suggest Mozilla Thunderbird. This program is free to use, and will allow you to get control over all of your email accounts in one location. You also don’t need a web browser to access your email, as this program is a standalone application.
For many of us, writing a computer program sounds unthinkable. We see that the people who write them all have advanced degrees in computers, and we think that writing a computer program must be very difficult. Not only that, but we don’t see too many benefits in trying to learn. “When will I ever need to write a computer program” we think to ourselves. The truth is however, that not only are computer programming languages easy to get started with, they can help you in a wide variety of ways. Here are some quick reasons why you should consider learning a programming language.
- Helps Critical Thinking – In order to write computer programs, you need to be able to think critically. Learning the language is more than just knowing which words to use, and the proper syntax. You also need to know where to use those words, and how to best set up the program. This involves a great deal of critical thinking, which will help to hone your skills. The more you learn about a programming language, the more you will be able to transfer those critical thinking skills to other areas of your life.
- Helps Your Resume – It never hurts to add a few more skills to your resume. Even if computer programming has nothing to do with your current job, showing that you can take initiative to learn something new will impress the people above you. And you never know when you may want to change career paths, so having another skill that you can rely on may come in handy.
- It’s Fun – Writing a computer program may sound like a lot of work, but it can also be a lot of fun. Turning a page full of text into a working program is a great accomplishment, and you’ll love playing around with it to see what else you can do. This will encourage you to learn more about the program, and then try out even more things. There is always more to learn or to do with a programming language, so you will always have something new to try.
- Helps You Grow – For many of us, once we leave school, we essentially stop learning new things. This puts a limit on your life, and is even bad for your brain. Learning something new, like a programming language, is a great way to keep your brain active and growing, while also expanding your horizons. Some people opt to learn a new language, such as Spanish or French, but you can be different and learn Python or C++.