Language Categories
Language Categories
Programming languages are often categories as follows: Imperative PL Object Oriented PL Functional PL Logic PL
Visual Language is the subcategory of IPL. Some authors refer to scripting languages as the separate category of programming languages. Examples: Perl, JavaScript and Ruby are IPL in every sense.
In recent years a new catergory of languages the markup programming hybrid languages. Markup languages are not programming languages. XHTML the most widely used markup language is used to specify the layout of information in web documents. Some programming capability has crept into same extensions to XHTML and XML.
APL is very writeable and very poor readability. Pointer in C++ not in Java It is therefore clear that the task of choosing constructs and features when designing a programming language require many compromises and trade-offs.
Computer Architecture
The execution of a machine code program on a von Neumann architecture computer occurs in a process called the fetch-execute-cycle. Program reside in memory but are executed in the CPU. Each instruction to be executed must be moved from memory to the processor. The address of the next instruction to be executed is maintained in a register called the program counter.
The fetch-execute cycle can be simply described by the following algorithm: Initalize the program counter Repeat forever
fetch the instruction pointed to by the program counter
increment the program counter to point to the next instruction Decode the instruction Execute the instruction
End Repeat
Structure of IPL matches with Computer architecture so IPL is more natural than logic programming languages.
Programming Methodology
Late 1960s and early 1970s structural programming Primary Deficiencies: incompleteness of type checking and poor control statement. Data Abstraction: SIMULA 67 OOP: 1980s