Copyright (c) 2007 Dean Barnard
Computer programming is at the core of any computer operation. Unlike usual electro mechanical devices, a computer requires software to carry out instructions. At the lowest level, machine code is used to control the hardware and operations of a computer. The machine language is a set of zeros and ones and rather tedious to handle. Therefore the instructions are coded in a higher level language called a computer program. The conversion of a higher level language into a machine code is carried out by assembly level languages or assemblers. The transformation is completed without any human interface.
During the initial days when computer programs were still at a nascent stage of development, languages such as COBOL and BASIC were highly popular. As the computing power of computers increased ,the demand for more efficient programs emerged. The third generation programs had better portability and efficiency compared to the earlier generations. The need to handle enormous amount of data gave rise to specialized software called database management software or more specifically relational database management software. Companies like Oracle, IBM and Microsoft have developed their own version of RDBMS. On the processing front ,Mainframes were using COLOL for business applications and FORTRAN ( Formula Translation ) for scientific applications.
The concept of modularity became popular when hundreds of software programmers worked simultaneously on a single large project. Object oriented programs like C++ gathered popularity. The code used in these higher level languages was reusable and the techniques could provide for better efficiency.
Microsoft meanwhile brought out its own operating system which could be used on personal computers. In a matter of years the Windows OS became a unprecedented success. The OS2 operating system used by Apple computers was relegated to a second position. IBM has been providing other system software but none could reach the popularity levels of Windows. The only problem with Windows is the issue of security breaches. Though Microsoft has been striving hard to plug the security holes, it has not been entirely successful.
Modern computer programs strive more and more to behave like human language. Technologists believe that a day would come when one could program a computer by given verbal instructions. Surely that’s not going to happen in a hurry. Artificial intelligence, expert systems, fuzzy logic and many more state of the art technologies are changing the face of programming.
Computers unlike any other machine require a software program to operate. It speaks in machine language which is gibberish to the human mind. Higher level languages are used to translate recognizable instructions into machine language. As we progress, the higher level languages would resemble human languages.
At the beginning of the computer era, a single program used to execute different functions. Today, specialized programs are tailor made for different applications. Complex programs require many programmers to work simultaneously on a single project. Modular languages are well suited for such large projects. Object oriented programming has become popular due to their modularity and ease of use.