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 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 1972
Software Architecture • • • Batch Interactive Personal computer Embedded systems Distributed computing Internet
Application Domains • • • Business Scientific System Artificial Intelligence Publishing Process
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 application Support for abstraction Ease of program verification
Good Attributes (cont. ) • Programming environment • Portability of programs • Cost of use – Execution – Translation – Creation, testing, use – Maintenance
Syntax and Semantics
Language Paradigms • • Imperative Applicative Rule-based Object-oriented