COP 4020 Programming Langauges Dr Roy Levow Office

  • Slides: 13
Download presentation
COP 4020 Programming Langauges • Dr. Roy Levow – Office hours: M 5 -6:

COP 4020 Programming Langauges • Dr. Roy Levow – Office hours: M 5 -6: 30 – Email: roy@cse. fau. edu – http: //www. cse. fau. edu/~roy

Why Study Programming Languages? • Improve ability to develop algorithms • Improve use of

Why Study Programming Languages? • Improve ability to develop algorithms • Improve use of programming languages • Increase vocabulary of programming constructs • Allow better choice of Programming Languages • Facilitate learning new languages • Facilitate designing new languages

Short History • • • FORTRAN 1957 Algol 1958 COBOL 1960 LISP 1960 C

Short History • • • FORTRAN 1957 Algol 1958 COBOL 1960 LISP 1960 C 1972

Software Architecture • • • Batch Interactive Personal computer Embedded systems Distributed computing Internet

Software Architecture • • • Batch Interactive Personal computer Embedded systems Distributed computing Internet

Application Domains • • • Business Scientific System Artificial Intelligence Publishing Process

Application Domains • • • Business Scientific System Artificial Intelligence Publishing Process

Influences for Language Modification • • • Computer capabilities Applications Programming methods Implementation methods

Influences for Language Modification • • • Computer capabilities Applications Programming methods Implementation methods Theoretical studies Standardization

Attributes of a Good Language • • • Clarity, simplicity, unity Orthogonality Naturalness to

Attributes of a Good Language • • • Clarity, simplicity, unity Orthogonality Naturalness to application Support for abstraction Ease of program verification

Good Attributes (cont. ) • Programming environment • Portability of programs • Cost of

Good Attributes (cont. ) • Programming environment • Portability of programs • Cost of use – Execution – Translation – Creation, testing, use – Maintenance

Syntax and Semantics

Syntax and Semantics

Language Paradigms • • Imperative Applicative Rule-based Object-oriented

Language Paradigms • • Imperative Applicative Rule-based Object-oriented

Language Standardization • Proprietary standards • Consensus standards • Timeliness • Conformance • Obsolencence

Language Standardization • Proprietary standards • Consensus standards • Timeliness • Conformance • Obsolencence

Internationalization • • • Alphabet and collating sequence Date format Time format Currency Time

Internationalization • • • Alphabet and collating sequence Date format Time format Currency Time zones Ideographic systems

Programming Environments • • Editor, compiler, debugger, etc. Interpretation Separate compilation and linking Testing

Programming Environments • • Editor, compiler, debugger, etc. Interpretation Separate compilation and linking Testing and debugging