Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS Computer architecture ...

9
Analysis of Programming Languages (2)

Transcript of Analysis of Programming Languages (2). 2 LANGUAGE DESIGN CONSTRAINTS Computer architecture ...

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