analysis of programming languages (2). 2 language design constraints computer architecture ...

9
Analysis of Programming Languages (2)

Upload: george-potter

Post on 21-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

Analysis of

Programming Languages(2)

Page 2: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

2

LANGUAGE DESIGN CONSTRAINTS

Computer architecture Technical setting Standards Legacy systems

Page 3: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

3

Architecture

von Neumann-Eckert model language Fortran , Cobol, C, …

Non von Neumann-Eckert model language Lisp

Page 4: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

4

Technical Setting Technical setting constraints

Application area, Operating system, network, … Fortran

Platform dependant Scientific programming

Ada Defense Applications

Cobol Business

Page 5: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

5

Standards

American National Standards Institute (ANSI)

International Standards Organization (ISO)

Examples: ISO Fortran (2004) ANSI/ISO C++ (2003)

Page 6: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

6

Legacy Systems

Legacy systems Software that were designed and

implemented by former programming staff, but maintained and updated by current staff (Backward Compatibility )

Page 7: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

7

COMPILERS AND VIRTUAL MACHINES

Compiler – produces machine codeInterpreter – executes instructions on a

virtual machine Example compiled languages:

Fortran, Cobol, C, C++ Example interpreted languages:

Scheme, Haskell, Python Hybrid compilation/interpretation

The Java Virtual Machine (JVM)

Page 8: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

8

The Compiling Process

Page 9: Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS  Computer architecture  Technical setting  Standards  Legacy systems

9

The Interpreting Process