Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1.

Slides:



Advertisements
Similar presentations
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Chapter One Preliminaries, including –Why study PL concepts? –Programming domains –PL evaluation criteria.
Advertisements

Chapter 1: Preliminaries
PLLab, NTHU Cs2403 Programming Languages Implementation Issues Cs2403 Programming Language Spring 2005 Kun-Yuan Hsieh.
Reasons to study concepts of PL
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
ISBN Chapter 1 Preliminaries. Copyright © 2007 Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Reasons for Studying Concepts of.
CS 354 Overview. Copyright © 2007 Addison-Wesley. All rights reserved. 1–2 Course Topics What is a programming language? What features do programming.
Programming Languages Structure
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
ISBN Chapter 1 Preliminaries. Copyright © 2007 Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Reasons for Studying Concepts of.
Programming Language Concepts
Chapter 1 Preliminaries. Copyright © 2012 Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Reasons for Studying Concepts of Programming Languages.
CS 355 – Programming Languages
Programming Languages Introduction. Overview Motivation Why study programming languages? Some key concepts.
CS 363 Comparative Programming Languages
Chapter 1 Preliminaries CS Concepts of Programming Languages.
Programming Languages Summer
1 Programming Languages Introduction. 2 Overview Motivation Why study programming languages? Some key concepts.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
ICS 313 Fundamentals of Programming Languages Instructor: Abdul Wahid Wali Lecturer, CSSE, UoH
ISBN Chapter 1 Preliminaries. Corrected and improved by Assoc. Prof. Zeki Bayram, EMU, North Cyprus. Original Copyright © 2007 Addison-Wesley.
ISBN CS 354 Preliminaries. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Course Topics What is a programming language? What features.
ISBN Chapter 1 Preliminaries. Copyright © 2015 Pearson. All rights reserved.1-2 Chapter 1 Topics Reasons for Studying Concepts of Programming.
ISBN Chapter 1 Preliminaries. Copyright © 2009 Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Reasons for Studying Concepts of.
Course No Programming Languages Theory & Practice First Semester ITTIHAD UNIVERSITY Computer Science Department Instructor: Dr. Rafiqul.
ISBN Structure of Programming Languages Prof. Dr. Mostafa Abdel Aziem Mostafa Senior Lecturer
ISBN Chapter 1 Preliminaries. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Reasons for Studying Concepts of.
Chapter 1 Preliminaries.
CSCI 3370: Principles of Programming Languages Introduction
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
PROGRAMMING LANGUAGES
Chapter 1 Reasons to study concepts of PLs Programming Domains
1.1 Reasons to study concepts of PLs
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
CS 3304 Comparative Languages Fall 2011
Chapter 1 Introduction.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminary. Chapter 1 Preliminary 1.1 Reasons for Studying Concepts of Programming Languages Increased capacity to express ideas Improved.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
CS 3304 Comparative Languages Fall 2011
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Programming Languages, Preliminaries, History & Evolution
Reasons To Study Programming Languages
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Presentation transcript:

Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1

Copyright © 1998 by Addison Wesley Longman, Inc. 2 Why study concepts of PLs? To increase capacity to express programming concepts To improve background for choosing appropriate languages To increase ability to learn new languages To better understand the significance of implementation To increase ability to design new languages Overall advancement of computing

Copyright © 1998 by Addison Wesley Longman, Inc. 3 Programming Domains Scientific applications Business applications Artificial intelligence Systems programming Scripting languages Special purpose languages Others?

Copyright © 1998 by Addison Wesley Longman, Inc. 4 Language Evaluation Criteria Readability –Overall simplicity –Too many features is bad »Multiplicity of features is bad –Orthogonality »Makes the language easy to learn and read »Meaning is context independent –Control statements –Data type and structures –Syntax considerations

Copyright © 1998 by Addison Wesley Longman, Inc. 5 Evaluation Criteria (continued) Writability –Simplicity and orthogonality –Support for abstraction –Expressivity Reliability –Type checking –Exception handling –Aliasing –Readability and writability

Copyright © 1998 by Addison Wesley Longman, Inc. 6 Evaluation criteria (continued) Cost –Programmer training –Software creation –Compilation –Execution –Compiler cost –Poor reliability –Maintenance Others –Portability –Generality –Well-definedness

Copyright © 1998 by Addison Wesley Longman, Inc. 7 Primary influences on language design Computer architecture –We use imperative languages, at least in part, because we use von Neumann machines Programming methodologies –1950s and early 1960s: Simple applications; worry about machine efficiency –Late 1960s: People efficiency became important; readability, better control structures –Late 1970s: Data abstraction –Middle 1980s: Object-oriented programming

Copyright © 1998 by Addison Wesley Longman, Inc. 8 Language Categories Imperative (or Procedural) Functional Logic Object-oriented (closely related to Imperative)

Copyright © 1998 by Addison Wesley Longman, Inc. 9 Language Design Trade-offs Reliability versus cost of execution Writability versus readability Flexibility versus safety

Copyright © 1998 by Addison Wesley Longman, Inc. 10 Implementation Methods Compilation –Translate high-level program to machine code –Slow translation –Fast execution Pure interpretation –No translation –Slow execution – Becoming rare Hybrid implementation systems –Small translation cost –Medium execution speed

Copyright © 1998 by Addison Wesley Longman, Inc. 11 Programming Environments The collection of tools used in software development UNIX –An old operating system and tool collection Microsoft Visual C++ –A large, complex visual environment Smalltalk –A language processor/environment