X

Download Classification of programming languages PowerPoint Presentation

SlidesFinder-Advertising-Design.jpg

Login   OR  Register
X


Iframe embed code :



Presentation url :

Home / Education & Training / Education & Training Presentations / Classification of programming languages PowerPoint Presentation

Classification of programming languages PowerPoint Presentation

Ppt Presentation Embed Code   Zoom Ppt Presentation

PowerPoint is the world's most popular presentation software which can let you create professional Classification of programming languages powerpoint presentation easily and in no time. This helps you give your presentation on Classification of programming languages in a conference, a school lecture, a business proposal, in a webinar and business and professional representations.

The uploader spent his/her valuable time to create this Classification of programming languages powerpoint presentation slides, to share his/her useful content with the world. This ppt presentation uploaded by onlinesearch in Education & Training ppt presentation category is available for free download,and can be used according to your industries like finance, marketing, education, health and many more.

About This Presentation

Classification of programming languages Presentation Transcript

Slide 1 - COMP205Comparative Programming Languages Grant Malcolm (grant@csc.liv.ac.uk) Introduction to programming languages The imperative paradigm The functional paradigm Other paradigms and concluding remarks
Slide 2 - BOOKS Tucker, A. and Noonan, R. Programming Languages: Principles and Paradigms. McGraw-Hill, 2002. Sebesta, R.W. Concepts of Programming Languages (5th ed.). Addison Wesley, 2002. TUTORIALS Day Time Monday 15:00-17:00 Four COMP2XX tutorial slots have been timetabled Tuesday 14:00-16:00 Thursday 11:00-13:00 Friday 10:00-12:00
Slide 3 - INTRODUCTION TO PROGRAMMING PARADIGMS http:/www.csc.liv.ac.uk/~grant/ Teaching/COMP205/ Paradigms and the classification of languages Program structure and programming languages as communications media Complexity and program processing
Slide 4 - CLASSIFICATION OF PROGRAMMING LANGUAGES To facilitate discussion on any subject it is convenient to group together similar facets of the subject according to some grouping notion. Computer programming languages are no exception. Machine, Assembler and High Level Languages Chronological order of development Generations Levels of abstraction (from machine level) Declarative v Non-declarative Paradigms
Slide 5 - OPERATION OF A COMPUTER PROGRAM A computer program resides in primary memory where it is represented as a set of machine instructions which in turn are represented as sequences of binary digits. At any point in time the computer is said to be in a particular state. A central feature of the state is the instruction pointer which points to the next machine instruction to be executed. The execution sequence of a group of machine instructions is known as the flow of control.
Slide 6 - MACHINE CODE Thus, a program running on a computer is simply a sequence of bits. A program in this format is said to be in machine code. We can write programs in machine code: 23fc 0000 0001 0000 0040 0cb9 0000 000a 0000 0040 6e0c 06b9 0000 0001 0000 0040 60e8
Slide 7 - ASSEMBLY LANGUAGE Assembly language (or assembler code) was our first attempt at producing a mechanism for writing programs that was more palatable to ourselves. movl #0x1,n compare: cmpl #oxa,n cgt end_of_loop acddl #0x1,n bra compare end_of_loop: Of course a program written in machine code, in order to “run”, must first be translated (assembled) into machine code.
Slide 8 - HIGH LEVEL LANGUAGE From the foregoing we can see that assembler language is not much of an improvement on machine code! A more problem-oriented (rather than machine-oriented) mechanism for creating computer programs would also be desirable. Hence the advent of high(er) level languages commencing with the introduction of “Autocodes”, and going on to Algol, Fortran, Pascal, Basic, Ada, C, etc.
Slide 9 - Machine, Assembler and High Level Languages Chronological order of development Generations Levels of abstraction (from machine level) Declarative v Non-declarative Paradigms Classification of programming languages:
Slide 10 - CHRONOLOGICAL CLASSIFICATION OF PROGRAMMING LANGUAGES 1940s Prelingual phase: Machine code 1950s Exploiting machine power: Assembler code, Autocodes, first version of Fortran 1960s Increasing expressive power: Cobol, Lisp, Algol 60, Basic, PL/1 --- but most “proper” programming still done in assembly language.
Slide 11 - 1970s Fighting the “software crisis”: Reducing machine dependency – portability. Increasing program correctness -Structured Programming, modular programming and information hiding. Examples include Pascal, Algol 68 and C.
Slide 12 - 1980s reducing complexity – object orientation, functional programming. 1990s exploiting parallel and distributed hardware (going faster!), e.g. various parallel extensions to existing languages and dedicated parallel languages such as occam. 2000s Genetic programming languages, DNA computing, bio-computing?
Slide 13 - THE SOFTWARE CRISIS The phrase software crisis alludes to a set of problems encountered in the development of computer software during the 1960s when attempting to build larger and larger software systems using existing development techniques. As a result: 1.Schedule and cost estimates were often grossly inaccurate. 2.Productivity of programmers could not keep up with demand. 3.Poor quality software was produced. To address these problems the discipline of software engineering came into being.
Slide 14 - Machine, Assembler and High Level Languages Chronological order of development Generations Levels of abstraction (from machine level) Declarative v Non-declarative Paradigms Classification of programming languages:
Slide 15 - LANGUAGE GENERATIONS Generation Classification 1st Machine languages 2nd Assembly languages 3rd Procedural languages 4th Application languages (4GLs) 5th AI techniques, inference languages 6th Neural networks (?), others….
Slide 16 - Machine, Assembler and High Level Languages Chronological order of development Generations Levels of abstraction (from machine level) Declarative v Non-declarative Paradigms Classification of programming languages:
Slide 17 - LANGUAGE LEVELS OF ABSTRACTION . Level Instructions Low level languages Simple machine-like instructions Direct memory access and allocation Memory handling High level languages Expressions and explicit flow of control Memory access and allocation through operators Very high level languages Fully abstract machine Fully hidden memory access and automatic allocation (Bal and Grune 94)
Slide 18 - Machine, Assembler and High Level Languages Chronological order of development Generations Levels of abstraction (from machine level) Declarative v Non-declarative Paradigms Classification of programming languages:
Slide 19 - DECLARATIVE v NON-DECLARATIVE PROGRAMMING Languages can also be classified by the emphasis they put on “what is to be achieved” against “how it is to be achieved”. The first are said to be declarative (e.g. functional and logic languages). The second is said to be non-declarative or procedural (e.g. imperative languages).
Slide 20 - Machine, Assembler and High Level Languages Chronological order of development Generations Levels of abstraction (from machine level) Declarative v Non-declarative Paradigms Classification of programming languages:
Slide 21 - PROGRAMMING PARADIGMS? In science a paradigm describes a set of techniques that have been found to be effective for a given problem domain (i.e somebody somewhere must believe in it). A paradigm can typically be expressed in terms of a single principle (even if this is in fact an over simplification). This principle must be supported by a set of techniques. In the context of programming languages we say that a paradigm induces a particular way of thinking about the programming task.
Slide 22 - We can identify four principal programming paradigms: Imperative (e.g. Pascal, Ada, C). Object-oriented (e.g. Java). Functional (e.g. Haskell, SML). Logic (e.g. Prolog).
Slide 23 - PROGRAMMING MODELS The 4 main programming paradigms aim at solving general programming problems, but sometimes there are additional aspects to a problem which require us to “tweak” a paradigm. The result is not a new paradigm but a programming model founded on a particular paradigm. An example is parallel or distributed programming.
Slide 24 - SUMMARY Classification of languages: Machine, assembler & high level Chronological order Generations Levels of abstraction Declarative v Non-declarative. Paradigms Programming models