CONCEPTS OF PROGRAMMING LANGUAGES

Slides:



Advertisements
Similar presentations
Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 1.
Advertisements

CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
1 Pass Compiler 1. 1.Introduction 1.1 Types of compilers 2.Stages of 1 Pass Compiler 2.1 Lexical analysis 2.2. syntactical analyzer 2.3. Code generation.
Programming Creating programs that run on your PC
The Binary Machine Modern high-level programming languages are designed to make programming easier. On the other end, the low level, all modern digital.
PLLab, NTHU Cs2403 Programming Languages Implementation Issues Cs2403 Programming Language Spring 2005 Kun-Yuan Hsieh.
Overview of Programming Paradigms
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Computers: Tools for an Information Age
Chapter 16 Programming and Languages: Telling the Computer What to Do.
Introduction and Syntax. Course objectives Discuss features of programming languages. Discuss how the features are implemented in a simple computer architecture.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 1, Lab.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
ALGORITHMS AND PROGRAMMING LANGUAGES Lecture 5: Algorithms and programming languages Networks and Communication Department 1.
Languages and Compilers (SProg og Oversættere) Bent Thomsen Department of Computer Science Aalborg University.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
1 Chapter-01 Introduction to Computers and C++ Programming.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Introduction to Computer Programming itc-314
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
Introduction to Programming Language CS105 Programming Language First-generation: Machine language Second-generation: Assembly language Third-generation:
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
Slide 1 Standard Grade Computing Studies Systems Software.
Programming Paradigms
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
Programming Language Rico Yu. Levels of Programming Languages 1.Low level languages 2.High level languages.
Evolution of Programming Languages Generations of PLs.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
CS 326 Programming Languages, Concepts and Implementation Instructor: Mircea Nicolescu Lecture 2.
CSC425 - Introduction To Computer Programming 1. 2 Generation Of Programming Languages A set of rules that telling a computer what to do. There are over.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
1 Week 1: The History of Computing: Software READING: Chapter 1.2.
Evolution and History of Programming Languages 1.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
PROGRAMMING LANGUAGES
Language Translation A programming language processor is any system that manipulates programs expressed in a PL A source program in some source language.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Programming Languages
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
Introduction to Language Programming Hierarchy of programming lang. Based on machine independences: 1. Machine language 2. Assembly language 3. Higher.
Lecture-8 Introduction to computer languages.
Programming Language Design Issues Programming Languages – Principles and Practice by Kenneth C Louden.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Skill Area 311 Part B. Lecture Overview Assembly Code Assembler Format of Assembly Code Advantages Assembly Code Disadvantages Assembly Code High-Level.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Week 1 -2: Introduction to programming and programming languages Chapter One By Lwomwa Joseph CSC 1107: Structured Programming.
Programming Languages
Software Engineering Algorithms, Compilers, & Lifecycle.
Programming Languages Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
High-level language programming paradigms. Programming languages come in many forms or 'paradigms'. Each form of language offers advantages over other.
Computer Programming - Key Concepts and Terms Computer Program – A computer program is a set of instructions for computer, arranged in logical order, using.
Computer Language
Evolution and History of Programming Languages
Programming Languages
Introduction to programming
CSCI-235 Micro-Computer Applications
Computer Programming.
Introduction of Programming Languages
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Introduction to programming languages, Algorithms & flowcharts
CS105 Introduction to Computer Concepts Intro to programming
CMP 131 Introduction to Computer Programming
CS105 Introduction to Computer Concepts Intro to programming
Presentation transcript:

CONCEPTS OF PROGRAMMING LANGUAGES Week 11 Session by Manesh T

Session Objective Introduction To Computer Program or Language Levels of Computer languages Language Processors Generations of Computer Programming Types of Programming Languages

What is a Programming Language? A set of rules or instrcutions A set of rules for converting an algorithm A language framework for describing computations Symbols, words, rules of grammar, rules of semantics Syntax and Semantics Algorithm Flowchart Programs

Levels of Programming Languages class Triangle { ... float surface() return b*h/2; } High-level Language LOAD r1,b LOAD r2,h MUL r1,r2 DIV r1,#2 RET Assembly Level Language 0001001001000101001001001110110010101101001... Machine level Language

Levels of Programming Languages-Cond

Programming Languages (cont’d) A Machine language program consists of a sequence of zeros and ones. Each kind of CPU has its own machine language. Advantages Fast and efficient Machine oriented No translation required Disadvantages Not portable Not programmer friendly

Assembly Language Assembly language programs use mnemonics to represent machine instructions Each statement in assembly language corresponds to one statement in machine language. Assembly language programs have the same advantages and disadvantages as machine language programs. Compare the following machine language and assembly language programs: 8086 Machine language program for var1 = var1 + var2 ; 8086 Assembly program for 1010 0001 0000 0000 0000 0000 0000 0011 0000 0110 0000 0000 0000 0010 1010 0011 0000 0000 0000 0000 MOV AX , var1 ADD AX , var2 MOV var1 , AX

High-Level Programming Languages A high-level language (HLL) has two primary components (1) a set of built-in language primitives and grammatical rules (2) a translator A HLL language program consists of English-like statements that are governed by a strict syntax. Advantages Portable or machine independent Programmer-friendly Disadvantages Not as efficient as low-level languages Need to be translated Examples : C, C++, Java, FORTRAN, Visual Basic, and Delphi.

Language processors Assembler Compiler Interpreter converting Assembly to machine High level language to machine language Line by line compilation Debugging is easy Debugging is faster Debugging is slow E.g,: TASM E.g. TC computer Eg: BASIC

Beyond Fifth Generation Languages Some talk about Agent Oriented Programming Aspect Oriented Programming Intentional Programming Natural language programming Maybe you will invent the next big language

Generations of Programming Languages First Generation Languages Machine 0000 0001 0110 1110 0100 0000 0001 0010 Second Generation Languag es Assembly LOAD x ADD R1 R2 Third Generation Languages High-level imperative/object oriented public Token scan ( ) { while (currentchar == ‘ ’ || currentchar == ‘\n’) {….} } Fourth Generation Languages Database select fname, lname from employee where department=‘Sales’ Fifth Generation Languages Functional Logic fact n = if n==0 then 1 uncle(X,Y) :- parent(Z,Y), brother(X,Z). else n*(fact n-1) Fortran, Pascal, Ada, C, C++, Java, C# SQL Prolog

Types of Programming Languages Procedural Programming Languages Structured Programming Languages Object-Oriented Programming Languages

Programming languages

Assembly Language- Features In this whole problem is solved as a single block. This is suitable only for small problem. Difficult to follow and correct errors            Eg, Assembly Language, BASIC.

procedure Programming Features of procedure oriented Programming: Large Programs are divided in to small function or Procedure. Uses Top-Down programming Approach. Data moves freely from one function to another. Most of the functions share common data. Emphasis is given for algorithms. Disadvantages: Very difficult identify which data is used by which function. Error Correction is difficult. Example: C, Pascal

Structured Programming The program is divided into modules and the modules are then divided into functions. Each module can work independent of one another.   Example: ADA, Prolog

Object oriented programming The Program is divided into number of small units called Object. The data and function are build around these objects. The data of the objects can be accessed only by the functions associated with that object. The functions of one object can access the functions of other object. Example: C++, Java

Object oriented programming

Object oriented programming

Features of object oriented Emphasis is given on data rather than procedures. Problems are divided into objects. Data structures are designed such that they organize the object. Data and function are tied together.

Possible Questions What are levels of Programming Languages? Illustrate difference between Assembler and Compiler What are features of Procedural Languages What are features of Structural Languages What are features of Object oriented Languages

Thank you! End of Presentation