Computer Technology

Software

The computer Hardware | Memories | Software | Binary system

 

All that is immaterial in a computer is called software. It describes the content matter of the operations performed by the machine. Typical examples of software are the operating system, the programming languages, the application programs (like Word  or Excel for Windows) and games.

 

Operating System

An Operating System (OS) is a master control program, permanently stored in memory, that interprets user commands requesting various kinds of services, such as display, print, copy a data file, or execute a particular program. Its job is to oversee the overall operation of a computer assigning places in memory to programs and data, processing multi-requests, scheduling jobs and controlling the overall input/output of the system.

There are various operating systems available: one of the most known is the MS-DOS, now replaced by Windows. Others are Unix, OS/2, Macintosh, Linux and so on.

There is no way your PC can operate without an OS, and usually your OS will run only its own application programs, therefore when you choose a computer you also have to consider the operating system that best fits your needs, especially in terms of the software you might need for your work.

 


Programming Languages

The most closely associated idea to computers is the notion of programming, which is a sequence of instructions that will eventually lead to some kind of performance, like running a game or printing a document, or just about anything you can do with a computer. However, a lot of other machines are programmed: your video-recorder, or pocket calculator contain programs, very much like a computer. The difference is that those machines are “dedicated” to a specific task (and their programmes are etched on logic circuits), whereas the PC is multi-purpose and can be programmable in a number of ways to perform a wide variety of tasks.

A computer must be given instructions in a “language” it can understand, this "language" is ultimately based on the binary code system. There could be other methods, but definitely the binary system is by far the most effective way to interact with the machine. Communication through 0s and 1s is properly called machine language, but at the same time it also looks and works in a way that is absolutely not fit for humans. A single instruction may look something like this: 100111011011010001111011. And a program usually contains thousands of instructions. Definitely not very user-friendly for the programmer. But this was the case for the very first programmers in the 1950s.

Some years later, programmers found a short-cut to this toilsome work: they invented the so-called assembly language. Each machine-language command was given a mnemonic code (made up of three letters), this looked more in tune with the way human beings communicate, and represented a great leap forward in the field of programming. However, the problem was that each type of CPU had to use its own assembly language, and whenever a programmer had to work with a different microprocessor he had to learn a new encoding system.

Later developments led to the so-called high-level languages. They are much more convenient to handle by programmers because the encoding system uses English-like words, for example PRINT, RUN, SORT and so on. The commands are then interpreted by special programs that translate them into the kind of machine language that the computer can understand.

One of the most famous and widespread programming language of this kind was the BASIC (Beginners’ All-purpose Symbolic Instruction Code), invented in the early 1960s and meant to be used by non-professional programmers. In a number of successive versions it has been used till now.

Of course, for professional purposes a number of more sophisticated programming languages have been developed. To mention just a few they are: FORTRAN, COBOL, PASCAL, C++, LOGO and so on.

Nowadays we have Java, Visual-Basic, SQL, and others. A lot of them have been designed to write programs also for the Internet, and they are getting more and more user-friendly.