1. Introduction- Elementary Programming Principles

posted Jul 21, 2014, 7:54 PM by Maurice Nyamoti   [ updated Jul 21, 2014, 8:17 PM ]

Elementary Programming Principles

Previous: Home

Introduction

Programming is the art of designing computer programs. When designing these programs, there are a number of procedural steps that need to be observed and laid down. Previously, systems used to operate by plugging and unplugging wires on the switch board which was more of a physical adventure than automated. However, with programming devices, systems got automated due to software advancements and creations and that is how digital technology came into being courtesy of programming.

Computer Programming

Computers work by running a set of instructions called Programs (software or codes).  Programming involves creation of computer programs to solve a particular task. When creating computer programs, one is likely to use programming languages which create a platform to create programs. A programming language is a special set of symbols that can be translated into machine readable form by the computer when arranged in a particular sequence or order. Each language has a special sequence or order of writing characters usually referred to as syntax.

Brief History of Programming Languages

Evolution of programming languages

- Years 50: Creation of high-level languages ​​(closer to humans).
- Years 60: Expansion of specialized languages​​. Forth. Simula I. Lisp, Cobol. Trying unsuccessfully to impose general languages​​: Algol, PL / 1.
- Years 70: Duel between structured programming with Pascal and efficiency of C language. Basic generalized on personal computers from 1977, until the late 80s.
- Years 80: Experimentating other ways including objects. ML. Smalltalk. On computers, we now use C, Pascal, Basic compiled.
- Years 90: Generalization of object-oriented programming with the performance of microcomputers. Java, Perl, Python languages ​​in addition to microphones.
- 2000s: Internet Programming (and future innovations, see end of text).
- Years 2010: Concurrency and asynchronicity. JavaScript and Go languages among others help to create online fluid applications.

First language

Ada Lovelace and Babbage and its nephew were writing programs for the project of "difference engine", and then the "analytical engine".
In 1945, the German K. Zuse, inventor of the Z3 computer would have defined an evolved language for this engine (with arrays and records). Few documents of the epoch about this language exist.

Follow this web address to learn more about evolution of programming languages: http://www.scriptol.com/programming/history.php

Description of terms used in Programming

Source Program

This is the program code that the programmer enters in the program editor window that is not yet translated into machine readable form. The source program is usually created using a particular programming language like Pascal, C, C++, Visual Basic, Java e.t.c.

Object Code

This is program code that is in machine readable form. A source code that is not in machine readable form must be translated into object code.

Translators

This refers to language processors such as assemblers, interpreters and compilers that convert the source program into object code.

Assemblers

An assembler translates assembly language into machine language that the computer can understand and execute.

Interpreter

An interpreter translates the source program line-by-line, allowing the CPU to execute one line before translating the next. The translated line is not stored in the computer memory. It means that every time, the program is needed for execution, it has to be translated. This method of translating programs was very common in early computers that did not have enough memory to store the object code as a file that can be executed later.

Compiler

A compiler translates the entire source program into object code. The object code file can be made into full executable program by carrying out another process known as linking which joins object code to all the other files that are needed for the execution of the program. After  the linking process, an executable file (application file) is generated. This file is stored on a storage media such as a disk with a name that has a unique extension (.EXE).

Differences between interpreters and compilers

Interpreters

Compilers

1.      Translates the source program one statement at a time

Translates the entire source code at once before execution

2.      Translates the program each time it is run hence slower than compiling

Compiled program (object code) can be saved on a storage media and run as required, hence executes faster than interpreted programs

3.      Interpreted object code takes less memory compared to compiled program

Compiled programs require more memory as the object file are larger.

 

Comments