Simple Procedural and Block Structured, Procedural 

History 

Fortran (mathematical FORmula TRANslation system) was originally developed in 1954 by IBM. Fortran was one of the first languages to allow the programmer to use higher level (i.e. architecture independent) statements rather than a particular machine's assembly language. This resulted in programs being easier to read, understand and debug and saved the programmer from having to work with the details of the underlying computer architecture.

      Pascal was originally named after the French scientist Blaise Pascal who lived during the 17th century.  Pascal was most well known for his development of the adding machine in 1642.  The Pascal programming language however, was designed in 1971 by Professor Nicklaus Wirth of the Federal Institute of Technology in Zurich, Switzerland.  Soon Pascal was widely used as both a language for teaching the principles of Computer Science and as a practical language for writing systems and applications programs.  It was created as a block-structured, procedural programming language that gave the programmer much control over program execution.

Simple procedure and Object-based

History

        Simple Procedural languages were the original languages above assembly. Fortran and Basic are the founding languages of this category. Fortran (FORmula TRANslation) was initially developed in the mid 1950s by the infamous John Backus at IBM. The original intent of the language was to be used on IBM machines particularly the IBM 704, but this was short lived. It became the first language to allow the programmer to use higher-level statements rather than assembly language. This drove a force in the computer world that would dramatically changed the ways computers are used.   

       Object based languages first came around in the form of SIMULA 67 (1977) but reached a more mature development in the Smalltalk language. Smalltalk is considered to be the purest object-based language of them all. The need for an object-based language arose from the need for reuse that programmers started to notice in the 1980s. It became clear that the best way to facilitate reuse was abstract data types and inheritance and Smalltalk was created to meet those objectives. Object-based languages became popular with CLU and C++, an object-oriented version of C developed in the late eighties. More recent object-based languages are Java and Delphi.                                             

       Eiffel is also an advanced object-based programming language that emphasizes the design and construction of high-quality and reusable software. The Eiffel programming language was created by Bertrand Meyer and developed by his company, Interactive Software Engineering (ISE) of Goleta, CA in 1985. Eiffel is named after Gustave Eiffel, the engineer who designed the Eiffel Tower. The Eiffel's developers like to compare themselves to the well-built structure of the Eiffel Tower.  

Simple Procedural and Logic

History

 Simple procedural language first began to be in 1957 with Fortran, developed for science application. Fortran designed by IBM for use on the IBM 704 system. B language is also a simple procedural language. It was developed in 1970 by K.L.Thompson of Bell Telephone laboratories,Inc.B was implemented such as system and language work. Few years later, C was developed and replaced B. 

       Logical programming began in the early 1970's.Prolog originated from work in the early 1970s by Robert A Kowalski of Edinburgh University (now at Imperial College, London) and Alain Colmerauer of the University of Aix-Marseille. In 1972, their efforts led to the use of formal logic as the basis for a programming language. Kowalski's research provided the theoretical framework, while Colmerauer's gave rise to the actual programming language. Colmerauer's team then built the first Prolog interpreter and David Warren of the University of Edinburgh's AI Department built the first Prolog compiler. Prolog came the fame in the 1980s through Borland's Turbo-Prolog implementation, and Japan's decision to base its Fifth Generation program around it. Since then, the language has been used in various different areas. 

Overview of language                                                                                

            Simple Procedural and Block Structured, Procedural 

Simple procedural languages

    FORTRAN and B, were originally designed to handle complex mathematical functions and arrays and were targeted primarily to the scientific and developer community.  The file organizations offered include sequential, relative, and indexed files. Sequential files are composed of data that can only be accessed in the order in which it was written. Relative and indexed files provide more flexibility. Relative files are composed of equal-sized "data blocks". By referencing a block's serial number, you can access the e block directly. Indexed files are similar in that you can reference specific blocks, but the blocks are not necessarily of equal size.

Block structured procedural languages

     Over all these years, Pascal had replaced PL/I and FORTRAN as the teaching language of choice in many universities.  A second generation improvement of the ALGOL 60 language, Pascal added features that helped structure code that improved the writing, reading, and maintenance of programs. These Programs often used for more complicated programs than are simple procedural languages. Because they are better able to demonstrate concepts such as structured programming and include things such as subprograms, etc. they lend themselves much better to slightly more complicated programs.  Pascal have been also and in industry. The block structured procedural languages (BSPL), while inelegant, were popular due to run-time efficiency. Call-by-name parameters used by the (BSPL) were hard to implement, there was no input-output statement, since those were consider "implementation dependent" at the time, and own static storage was also difficult to implement. In addition, more modern practices like data types and structured programming were developing during the 1960s.The language could be compile in one pass, and a recursive descent parsing algorithm was used to develop the initial Pascal compiler. Pascal's block structure was able to utilize sub-programs, enabling programs to run in a non-linear order.   

Simple procedure and Object-based

Overview of the language 

        Simple procedural languages are used mainly in scientific applications, including simple scientific functions. Procedural languages like Pascal, and Fortran 77, make heavy use of subprograms. This is because procedural programs are an ordered sequence of statements and procedure calls that are sequentially evaluated. Data-oriented programs on the other hand emphasize data by making use of abstract data types. 

       Object-based languages merge the two together by encapsulating the procedures and the data together in an object. Both procedural and object-based languages find wide areas of application. Object-based languages are designed to handle the most complex software problems in the real world through modeling the real world with objects. Procedural languages don't offer this kind of sophistication naturally.  An object-oriented system programmed with an OOPL results in less complexity in the system design and implementation, which can lead to an increase in maintainability. Current OOPLs include C++, Objective C, Smalltalk, Eiffel, Common LISP Object System (CLOS), Object Pascal, java, and Ada 95

Simple Procedural and Logic

Overview of the language

     Logic Programming were first used for representing and analyzing subsets of natural language. This application largely motivated Colmerauer and Roussel to develop the first PROLOG implementation.  Logical Programming is a research area formed at the intersection of Machine Learning and Logic Programming. Logic programming systems develop predicate descriptions from examples and background knowledge. This application largely motivated Colmerauer and Roussel to develop the first PROLOG implementation. The examples, background knowledge and final descriptions are all described as logic programs. A unifying theory of Logic Programming is being built up around lattice-based concepts such as refinement, least general generalization, inverse resolution and most specific corrections. In addition to a well established tradition of learning-in-the-limit results, some results within Valiant's PAC-learning framework have been demonstrated for logic programming systems. 

          Presently successful applications areas for logic programming systems include the learning of structure-activity rules for drug design, finite-element mesh analysis design rules, primary-secondary prediction of protein structure and fault diagnosis rules for satellites.