Programming Language Paradigms ITSK2314 Lecture 3.

Slides:



Advertisements
Similar presentations
An Introduction to Programming General Concepts. What is a program? A program is an algorithm expressed in a programming language. programming language.
Advertisements

Introduction to Programming Languages Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Chapter One Preliminaries, including –Why study PL concepts? –Programming domains –PL evaluation criteria.
A brief history of programming languages
you admittance to the “show”.
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Overview of Programming Paradigms
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 12 Imperative Programming I really hate this.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
A Quick Overview of Languages. FORTRAN Designed in 1955 First release of the compiler in 1957 Algebraic in nature Scientific (numeric not string oriented)
Programming Languages Structure
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
Comp 205: Comparative Programming Languages Imperative Programming Languages Functional Programming Languages Semantics Other Paradigms Lecture notes,
Presented by Neng-Fa Zhou1 Evolution of programming languages –Machine language –Assembly language –Sub-routines and loop (Fortran) –Procedures and recursion.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
ISBN Chapter 2 Evolution of the Major Programming Languages.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
CS 331, Principles of Programming Languages Introduction.
1 Programming Languages Marjan Sirjani 2 1- The Study of Programming Languages The purpose of language is simply that it must convey meaning. (Confucius)
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
Chapter 01 Nell Dale & John Lewis.
COMP313A Programming Languages Introduction. More Housekeeping Stuff Reading Material Textbook –Programming Languages: Principles and Practice by Kenneth.
History of Programming Languages
CSE 425: Intro to Programming Languages and their Design A Few Key Ideas No particular language is a prerequisite for this course –However you should be.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
The Variety of Programming Languages D Goforth COSC 3127 D Goforth COSC 3127.
G Programming Languages T he main themes of programming language design and use: –Model of computation –Expressiveness types and their operations.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
COMP313A Programming Languages More Overview. Language Implementation Language definition –syntax, semantics Language translation.
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
Chapter 1 The Big Picture.
Chapter 1 - Introduction
1 CSC 533: Organization of Programming Languages Spring 2010 See online syllabus at: Course goals:  understand issues in designing,
1 Programming Languages Marjan Sirjani Course web site:
1 Programming Language History and Evolution In Text: Chapter 2.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Programming Languages Design Considerations (Qualities) Readability –Simplicity and Clarity –Orthogonality –Control Statements –Data Types and Structures.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
CS 331, Principles of Programming Languages Chapter 1.
Logical and Functional Programming
Engr. Isabelo Jun D. Paat, ME-CoE Lecturer 1 Programming Languages.
Programming Languages
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
int k = Integer.MAX_VALUE; k++; int k = Integer.MAX_VALUE; k++; What happens when the following code executes? byte b = someFile.readByte(); b = (byte)(b.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
Programming Language Design Issues Programming Languages – Principles and Practice by Kenneth C Louden.
A Short History of PL's (MacLennan 1999) “Zeroth Generation” (1940's-50's): machine language / assembly: if/then, read/write, store, goto
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
CPS120 Introduction to Computer Science High Level Language: Paradigms.
Programming Language History and Evolution
Programming Languages 2nd edition Tucker and Noonan
CSC 533: Programming Languages Spring 2016
CSC 533: Programming Languages Spring 2015
Introduction to programming languages, Algorithms & flowcharts
Introduction to programming languages, Algorithms & flowcharts
An Introduction to Programming
Programming Language History and Evolution
Introduction to programming languages, Algorithms & flowcharts
Programming Languages 2nd edition Tucker and Noonan
Von Neumann Architecture
Principles of Programming Languages
Overview of Programming Paradigms
An Introduction to Programming
Presentation transcript:

Programming Language Paradigms ITSK2314 Lecture 3

Agenda  What is a programming language  Abstractions  History  Computational Paradigms

Programming Language Defined  Notation system Symbols/grammar  Describe computation Anything a computer can do (Turing)  Machine-readable Unambiguous, finite algorithm  Human-readable Abstraction mechanisms needed

Design Issues  Efficiency  Writability  Readability  Expressiveness  Orthogonality  Simplicity  Extensibility  Machine Independence  Security

Abstractions  Data abstractions Variables Structures  Unit abstractions Abstract Data Types (classes) Packages Procedures, functions, methods  Control abstractions Assignment Goto If-then, case/switch loops

History  1830s/1840s Charles Babbage (Analytical Engine) Ada Lovelace  First programmer Sequence of cards w/ data & operations  1950s First programming languages  COBOL, LISP, Algol First high-level language – FORTRAN  1960s Special-purpose languages (> 100)  1970s Simplicity, structure, efficient Pascal, C  1980s Object-oriented languages  1990s Libraries, scripting, distributed/network computing

Computational Paradigms  Imperative/Procedural C, Pascal  Functional (applicative) LISP, Scheme  Logic Prolog  Object-oriented C++, Java, C#, Smalltalk  Parallel C, FORTRAN  Distributed

FIN