Download presentation
Presentation is loading. Please wait.
1
Chapter 1 Preliminaries
2
Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language Design Trade-Offs Implementation Methods Programming Environments
3
Reasons for Studying Concepts of Programming Languages
Increased ability to express ideas Improved background for choosing appropriate languages Increased ability to learn new languages Better understanding of significance of implementation Better use of languages that are already known Overall advancement of computing
4
Programming Domains Scientific applications Business applications
Artificial intelligence Systems programming Web Software
5
Language Evaluation Criteria
6
Evaluation Criteria: Readability
Overall Simplicity Orthogonality Data Types Syntax Design
7
Evaluation Criteria: Writability
Simplicity and orthogonality Support for abstraction Expressivity
8
Evaluation Criteria: Reliability
Type checking Exception handling Aliasing Readability and writability
9
Evaluation Criteria: Cost
Training programmers to use language Writing programs Compiling programs Executing programs Language implementation system Reliability Maintaining programs
10
Evaluation Criteria: Others
Portability Generality Well-definedness
11
Influences on Language Design
Computer Architecture Programming Methodologies
12
Computer Architecture Influence
Well-known computer architecture Von Neumann Imperative languages most dominant because of von Neumann computers
13
Execution of Machine Code
Fetch-execute cycle on a von Neumann architecture computer initialize the program counter repeat forever fetch the instruction pointed by the counter increment the counter decode the instruction execute the instruction end repeat
14
Programming Methodologies Influences
1950s and early 1960s machine efficiency Late 1960s people efficiency Late 1970s process-oriented to data-oriented Middle 1980s object-oriented programming
15
Language Categories Imperative C, Pascal Functional LISP, Scheme
Declarative Prolog Object-oriented Java, C++ Markup XHTML, XML
16
Language Design Trade-Offs
Reliability vs. cost of execution Readability vs. writability Writability (flexibility) vs. reliability
17
Implementation Methods
Compilation Pure Interpretation Hybrid Implementation Systems
18
Compilation Translate source language into machine language
Compilation process has several phases lexical analysis syntax analysis semantics analysis code generation Additional Compilation Terminologies Load module Linking and loading
19
Pure Interpretation No translation Easier implementation
Slower execution Often requires more space
20
Hybrid Implementation Systems
A compromise between compilers and pure interpreters An intermediate language is used Faster than pure interpretation
21
Other Implementation Methodolgies
Preprocessors Just-in-Time Implementation Systems
22
Programming Environments
The collection of tools used in software development Examples: UNIX Borland JBuilder Microsoft Visual Studio.NET
23
Summary The study of programming languages is valuable
Important criteria for evaluating programming languages Major influences on language design Major methods of implementing programming languages
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.