Fundamentals of Computer Programming, paradigms and patterns


Computer programming is art of denoting and representing the computational and logical or functional steps in a well defined or unique way that are understandable by the specific language compiler or interpreter in order to get the desired output.

Computer programming must be done using a specific language that is understandable by the compiler or interpreter which converts the program codes or source codes in the machine understandable codes such as byte codes or native codes (as in case of .Net) and further process these into the user understandable format for printing the output. The way of compiling or interpreting the source codes is serviced by every language compilers or run time of the languages such as CLR , Java run time , VB run time etc. and influenced by the steps written in the program to execute as desired or programmed to execute. The run time provides the source code to be processed under the environment of the specific language to ensure the codes must be run or processed for getting the desired out put. run time can reports the error while running the program known as debugging for any error it found while executing or any incompatibility it found with the run time and source code language or procedure adopted.
Every programming language uses the specific way of denoting or representing the logical of computational steps of writing the computer programs using the alphabets, alphanumeric keywords mixed with the symbols etc. This way of programming is know as "coding style" of the programming language which is usually unique for every language.

Data processing steps for writing the programs

Every computer program can be further viewed in terms of input and output and the processing involves for getting the desired output.

The main basic steps involve which every program are based are:

  1. Input - Input data from the input devices.
  2. Output - Print data on VDU or output devices.
  3. Processing – Performs arithmetic or logical tasks.
The data processing steps involves for writing the programs can be:
  1. Raw Data – Data collected roughly from various means.
  2. Information – Meaning full data becomes Information.
  3. Program - Collection of such information, defined within the logical or functional steps becomes a program.
  4. Software – Collection of related programs meeting the common goals becomes software.
Programming methodology

There are so many programming languages popularly know in these days such as ( C, C++, Pascal , JAVA, C#,VB etc.) which have their own programming style or methodology , the grouping of these languages can be done on the basis of the programming pattern or approach used to write , execute or debug the code under the specific environment or operating platform.

All these languages can use the Algorithmic procedures or steps to solve the problems for specific tasks in a short and best possible way.
A programming approach used to denote the main components or elements of the program in a specific and logical way in order to define the functional and computational aspects of the program is known as programming paradigm.

"The simple meaning of the paradigm is as a model, pattern, structure etc"

Different programming paradigm or approaches are used in order to write or code the programs keeping in the view of the followings:

1. Machine or platform specific
  1. Type of CPU / machine or PC used.
  2. Operating System platform.
  3. Runtime, language, compiler installed
  4. RDBMS, Database or Backend used.
  5. End use of the Applications and its users.

2. Language Specific usage
  1. Software reusability or portability.
  2. Compatibility with the OS.
  3. Software expandability or modularity etc.
Based upon these aspects the languages can be generalized into the main paradigm as:
 
Programming Language Description
Object Oriented Programming By terms of object orientation it means that the main emphasizes of the programs is creating the class and objects that belongs to these classes. This is Most commonly used programming method in these are days which involves using Objects. Everythings in this language are categories or thinks in terms of Objects and their interaction with each others.

Example - C++, JAVA, C#
Imperative programming Using the Statements to define the computational steps i.e that describes computation in terms of a program state and statements that change the program state.

Example – FORTRAN, C, Ada
Functional programming I this type of approach the Programs can be think of in terms of functions and the arguments pass to the function. Thus this type of programming approach uses the mathematical function to code and get output depending upon the argument pass to the function.

Example – JavaScript, Perl uses this approach
Procedural programming Involves the procedural task for writing the programs i.e programs can be written in terms of procedures and involves the use of procedures to process the input and get the output.

Example - C

Remarks: As adoption of any of these programming paradigm or methodology used to code the program are solely depends the task or program execution environment but for all these flavors there are variety of users who have their own tastes and habit of coding in a particular programming style.