Programming Languages Design Considerations (Qualities) Readability –Simplicity and Clarity –Orthogonality –Control Statements –Data Types and Structures.

Slides:



Advertisements
Similar presentations
Programming Domains Scientific Applications
Advertisements

Copyright © 1998 by Addison Wesley Longman, Inc. 1 Chapter One Preliminaries, including –Why study PL concepts? –Programming domains –PL evaluation criteria.
Chapter 1: Preliminaries
Programming Languages WHY MORE? Wasn’t ONE ENOUGH? Introduction to CS260.
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
PLLab, NTHU Cs2403 Programming Languages Implementation Issues Cs2403 Programming Language Spring 2005 Kun-Yuan Hsieh.
CS 330 Programming Languages 09 / 07 / 2006 Instructor: Michael Eckmann.
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.
CS 354 Overview. Copyright © 2007 Addison-Wesley. All rights reserved. 1–2 Course Topics What is a programming language? What features do programming.
CS 330 Programming Languages 09 / 06 / 2007 Instructor: Michael Eckmann.
Programming Languages Structure
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
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.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1.
Programming Language Concepts
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)
Language Evaluation Criteria
Overview. Copyright © 2006 The McGraw-Hill Companies, Inc. Chapter 1 Overview A good programming language is a conceptual universe for thinking about.
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
MT311 Java Programming and Programming Languages Li Tak Sing ( 李德成 )
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CS 363 Comparative Programming Languages
CS 330 Programming Languages 09 / 04 / 2008 Instructor: Michael Eckmann.
Chapter 1 Preliminaries CS Concepts of Programming Languages.
Programming Languages Summer
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
ICS 313 Fundamentals of Programming Languages Instructor: Abdul Wahid Wali Lecturer, CSSE, UoH
Analysis of Programming Language Vladimir Viies Lembit Jürimägi Tallinna.
ISBN CS 354 Preliminaries. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Course Topics What is a programming language? What features.
Programming Domains 1.Scientific Applications Typically, scientific applications have simple data structures but require large numbers of floating-point.
CS 331, Principles of Programming Languages Chapter 1.
What Makes a Good Language? Lecture 3 The first formal languages n The evolution of writing systems to record language reveals the first steps toward.
Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
Programming Language Design Issues Programming Languages – Principles and Practice by Kenneth C Louden.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
Programming Language Paradigms ITSK2314 Lecture 3.
Programming Languages 2nd edition Tucker and Noonan
Concepts of Programming Languages
CSCI 3370: Principles of Programming Languages Introduction
Chapter 1 Preliminaries.
Introduction to programming languages, Algorithms & flowcharts
PROGRAMMING LANGUAGES
Chapter 1 Reasons to study concepts of PLs Programming Domains
1.1 Reasons to study concepts of PLs
Chapter 1 Preliminaries.
CS 3304 Comparative Languages Fall 2011
Chapter 1 Introduction.
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.
Programming Languages 2nd edition Tucker and Noonan
Chapter 1 Preliminaries.
Principles of Programming Languages
Chapter 1 Preliminaries.
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
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.
Programming Languages, Preliminaries, History & Evolution
Reasons To Study Programming Languages
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Presentation transcript:

Programming Languages Design Considerations (Qualities) Readability –Simplicity and Clarity –Orthogonality –Control Statements –Data Types and Structures –Syntax considerations Writability –Simplicity and Orthogonality –Abstraction –Expressivity

Programming Languages Design Considerations (Qualities) Reliability –Type Checking –Exception Handling –Aliasing –Readability & Writability

Programming Languages Design Considerations (Qualities) Cost –training –writing –compiling –executing –implementing –reliability –maintaining

Programming Languages Design Considerations (Qualities) Binding –Language definition time –Language implementation time –Program writing time –Program compile –Program load time –Program run time

Practical Considerations Architecture Contextual constraints Virtual machines and interpreters Standards Legacy Systems

Architecture Languages designed to match architecture –Von Neumann –Exception: Lisp machines –RISC

Contextual Constraints architecture application area operating system network programming community preferences –general purpose vs special purpose –compiled vs interpreted

Virtual Machines & Interpreters compiler written for virtual machine –written only once interpreters for real machines allows experimentation –eliminates machine specific details

Standards ANSI Cobol (1985) ISO Fortran (1997) ISO Prolog (1995) ANSI/ISO C (1999) ANSI Basic (1989) ANSI/ISO Ada (1995) ANSI Smalltalk (1998) ISO Pascal (1990)

Legacy Systems 90% programmer’s time maintaining backward compatibility necessary ponderous committee vs individual design

Assignment Be able to answer the review questions on pages 33 & 34, particularly –3,4,5,6,7,8,9,12,13,14,18,20,23,24,25,26,27,32