Block Structured, Procedural and Object-Based

 

History

        Block structured, procedural languages were first introduced in the 1970's.The first language that introduced was Pascal. Pascal was named after the 17th century French scientist and writer Blaise Pascal. This language was invented by Niklaus Wirth.Niklaus Wirth developed the ideas from ALGOL 60. Pascal was developed to be an instructional language. Because Pascal was designed as a teaching language, it lacks several features that are essential for many kinds of applications. However, Pascal's block structure was able to utilize sub-programs, enabling programs to run in a non-linear order. Wirth also later invented the MODULA series of programming languages, the next step in block-structured languages. BCPL was another Block structure, procedural language. Martin Richards implemented a simplified version of CPL called Basic CPL or BCPL. BCPL was in use in Cambridge for years. Block structured procedural languages have a "block" structure - a main program and subprograms.  Block structured procedural languages may require partial run-time descriptors for structured data. While block structured procedural languages execute efficiently, there is some run-time penalty for using these languages.

        Procedural language are early than Block structured and object based languages. These languages were developed in 1940's-1960's.  Procedural languages were the original languages above assembly. These languages were not actually suitable for software development. Their benefit is that 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. Procedural language,such as, 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.   

       The Object-Based languages came much later than block structured procedural languages. Object based programming languages was designed to make writing good programs easier and more pleasant for the individual programmer. Object-based programming languages include languages such as Ada, C++, and Smalltalk, especially, C++ is very popular right now. Object-based language consists of writing programs in one of a class of programming languages and techniques based on the concept of an "object" which is a data structure--(abstract data type) encapsulated with a set of routines, called "methods" which operate on the data. Operation on the data can only be performed via these methods, which are common to all objects, which are instance of a particular "class".  Object-oriented programming has three fundamental characteristics: data abstraction, inheritance, and dynamic type binding.

             Block Structured, Procedural and Functional

 

History

       Procedural language are early than Block structured and object based languages. These languages were developed in 1940's-1960's.  Procedural languages were the original languages above assembly. These languages were not actually suitable for software development. Their benefit is that 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. Procedural language,such as, 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.   

Block structured

Block Structured, procedural languages were first introduced in the 1970's. The first language that introduced was PASCAL. CPL( called as Cambridge Programming Language, or Combined, Programming Language) is another Block Structure, procedural language. In the spring of 1967, Martin Richards implemented a simplified version of CPL called BCPL (I,e Basic CPL) for use on the 370 systems when he was at Cambridge .This language was adopted as systems programming language of choice at Cambridge since it generated better code then the IBM FORTRAN and other compilers as it did not require the agony generated of Assembler.

 

  Functional

       Functional language languages first introduce in late 1950's. Functional programming languages emphasizes the evaluation of expressions, rather than execution of commands. A functional language is a language that supports and encourages programming in a functional style. 

       Functional languages including Lisp (List processing Language) Was introduced in the 50s.It was created by John McCarthy is still in using today. Lisp introduces the concept of functions that could take multiple arguments, as well as arrays, macros, and fast arithmetic to name a few.

      Scheme is another Functional language, was introduced in 1975 by Gerald J.Sussman and Guy L.Steele Jr., as the first dialect of Lisp to fully support lexical scope, first-class procedures, and continuations. Originally called Schemer, it was shortened to Scheme because of a 6 character limitation on file names. Scheme is a small, exceptionally clean language which is fun to use. The language was designed to have very few, regular constructs which compose well to support a variety of programming styles including functional, object-oriented, and imperative. Scheme was one of the first programming languages to incorporate first class procedures as in the lambda calculus.

                           Block Structured, Procedural and Logic

History

        Procedural language are early than Block structured and object based languages. These languages were developed in 1940's-1960's.  Procedural languages were the original languages above assembly. These languages were not actually suitable for software development. Their benefit is that 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. Procedural language, such as, 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.   

 

Block structured

      Block Structured, procedural languages were first introduced in the 1970's. The first language that introduced was PASCAL. CPL( called as Cambridge Programming Language, or Combined, Programming Language) is another Block Structure, procedural language. In the spring of 1967, Martin Richards implemented a simplified version of CPL called BCPL (I,e Basic CPL) for use on the 370 systems when he was at Cambridge .This language was adopted as systems programming language of choice at Cambridge since it generated better code then the IBM FORTRAN and other compilers as it did not require the agony generated of Assembler.

 Logic 

   Logic programming is declarative rather than procedural. Specifications of desired results are programmed, not the process to obtain the results. Logic programming is used for implementing tasks like natural language processing, relational databases and expert systems. The primary concentration of logic programming languages is in the area of artificial intelligence (AI). Logic programs are widely in artificial intelligence applications due to it's ability to produce smart machines. Prolog is the best known attempt to define a logic programming language. Since its invention in the early seventies it has enjoyed a rapid growth in popularity. The first Prolog interpreter was written in 1972 by A. Colmerauer at the University of Marseille, based on discussions with R. Kowalski (then at the University of Edinburgh). It was initially used as a tool for writing a substantial natural language understanding system and was later also employed for a variety of projects at the University of Edinburgh's AI laboratory.In1974 Kowalski left Edinburgh for London's Imperial College, where he established a center of research into logic programming. In 1980 Clark and McCabe completed a Prolog version for micro-computers (Micro-Prolog) that has since been used to teach programming to high school students. A portable, C-based Prolog interpreter was written at Edinburgh, and today we may choose among a wide range of Prolog systems, with particular variety in a Unix-based environment.

                  Block Structured, Procedural and Object-Based

 

Overview

     Block Structured Procedural Languages emphasize good and verifiable programming structure and reliability of algorithms, it's widely used in business, education, and in industry applications. The Block Structured Procedural Languages 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 is best known for its affinity to structured programming techniques. The nature of the language forces programmers to design programs methodically and carefully. Part of the resistance to Pascal by professional programmers stems from its inflexibility and lack of tools for developing large applications. However, There are many of the problems encountered in large- or even medium-scale programming projects. Unfortunately, a large number of programmers and companies decided to adopt Pascal as a real programming language, adding features as needed to get around its deficiencies.

      Object based languages are very popular in the software industry for a large number of applications. Object based languages provide three identifying characteristics: data abstraction, inheritance, and dynamic type binding. Abstract data types and their encapsulation abilities have allowed code to be reused. Inheritance allows a hierarchy to be formed for the reuse of code and is one the most important advances of object oriented programming languages. Dynamic type binding is achieved by encapsulating all data as objects and sending messages to the objects performs all operations and functions

      The most popular object based languages, such as C++, Java. Java object programming languages to provide full-featured database programming capability, while retaining native language compatibility. A major benefit of this approach is the unification of the application and database development into a seamless data model and language environment. As a result, applications require less code, use more natural data modeling, and code bases are easier to maintain. Object developers can write complete database applications with a modest amount of additional effort.

                      Block Structured, Procedural and Functional

Block Structured

    Block structured, procedural languages were created with the advantage of not having to reinvent the wheel as far as many constructs go. Most of them used constructs that had already been developed or were heavily influenced by them. Block structured, procedural languages have gained widespread use n many arenas because of their flexibility, expressive, portability and their machine independence. The application areas were much more clearly delineated at the time Block Structured languages languages originated. This design basically concentrates on enhancing program logic and readability of the programming languages. Especially, the selection allows the algorithm to choose one of two or more alternatives depending on the value of a "selector". After executing one of the alternatives, execution is passed to the instruction following the control structure.

       Algol 60 is the original block-structured language (local variable scopes) Backus-Naur Form (BNF) was first used to formally define grammar in this language , all subsequent imperative programming languages are based on it did not have any I/O or character set. Compiler writers could use code size to choose between two different code segments on the same architecture. While this is less misleading than trying to compare code size across architecture, the accuracy of predicting performance from code size can vary widely. And Algol 68, Large and relatively complex ,Strong influence on Pascal, Ada.

Procedural

        A procedural language or imperative language has statements Manipulating data items in the computer's memory. Procedural languages like Fortran, was originally designed to handle complex mathematical functions and arrays and were targeted primarily to the scientific and developer community. Procedural language make heavy use of subprograms. A procedure can be invoked either as a subroutine or as a function; its execution normally terminates with a return a procedure may how ever, terminate with a label constant variable, or parameter terminating the program or terminating the task in which the statement is executed.

Functional

        All computation in a functional program is accomplished by applying functions to arguments. Neither the assignment statements nor the variables that abound in imperative language programs are necessary in functional language programs. Furthermore, iterative processes can be specified with recursive function calls, making loop unnecessary. Functional programming languages conceive the program as a fabrication of definitions for (mathematical) functions and data structures. Functional programs consist of expressions that use these definitions. The execution of a functional program entails the evaluation of the expressions making up the program..

                             Block Structured, Procedural and Logic

 

Overview

Block Structured

    Block structured, procedural languages were created with the advantage of not having to reinvent the wheel as far as many constructs go. Most of them used constructs that had already been developed or were heavily influenced by them. Block structured, procedural languages have gained widespread use n many arenas because of their flexibility, expressive, portability and their machine independence. The application areas were much more clearly delineated at the time Block Structured languages languages originated. This design basically concentrates on enhancing program logic and readability of the programming languages. Especially, the selection allows the algorithm to choose one of two or more alternatives depending on the value of a "selector". After executing one of the alternatives, execution is passed to the instruction following the control structure.

       Algol 60 is the original block-structured language (local variable scopes) Backus-Naur Form (BNF) was first used to formally define grammar in this language , all subsequent imperative programming languages are based on it did not have any I/O or character set. Compiler writers could use code size to choose between two different code segments on the same architecture. While this is less misleading than trying to compare code size across architecture, the accuracy of predicting performance from code size can vary widely. And Algol 68, Large and relatively complex ,Strong influence on Pascal, Ada.

 

Procedural

        A procedural language or imperative language has statements Manipulating data items in the computer's memory. Procedural languages like Fortran, was originally designed to handle complex mathematical functions and arrays and were targeted primarily to the scientific and developer community. Procedural language make heavy use of subprograms. A procedure can be invoked either as a subroutine or as a function; its execution normally terminates with a return a procedure may how ever, terminate with a label constant variable, or parameter terminating the program or terminating the task in which the statement is executed.

 

Logic

Logical languages account in a clean and declarative fashion for most of the structural aspects of object-oriented and frame-based languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, encapsulation, and others. In a sense, logical languages stand in the same relationship to the object oriented paradigm as classical predicate calculus stands to relational programming. logical languages have a model-theoretic semantics and a sound and complete resolution-based proof theory. A small number of fundamental concepts that come from object-oriented programming have direct representation in logical languages. The basic concept of this semantics is that there is a simple way to determine the meaning of the each statement, and it does not depend on how the statement might be used to solve a problem.