130 likes | 281 Views
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
E N D
COP 4020Programming 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
Language Paradigms • Imperative • Applicative • Rule-based • Object-oriented
Language Standardization • Proprietary standards • Consensus standards • Timeliness • Conformance • Obsolencence
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 and debugging