Download
language design issues n.
Skip this Video
Loading SlideShow in 5 Seconds..
Language Design Issues PowerPoint Presentation
Download Presentation
Language Design Issues

Language Design Issues

118 Vues Download Presentation
Télécharger la présentation

Language Design Issues

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Language Design Issues Juan Carlos Guzmán CS 6123 Theory & Implementation of Programming Languages Southern Polytechnic State University

  2. Fortran C Pascal Java PostScript TeX APL ML Lisp Cobol Snobol Haskell Perl Rexx C++ PHP Why So Many Languages? • Oracle • C# • Adobe • Basic • Forth • PL/1 • Ada • Awk • Smalltalk • Eiffel • Javascript • HTML • Modula • … • …

  3. Why Programming Languages? • What is computation? • How do we express computation? • What type of computation do we need to express? • Numerical Application • Business Application • Artificial Intelligence • Systems Programming

  4. Languages vs Machines • Machines influence languages • You will develop languages that can express feasible computation • Word Processing in the 1960’s? • packed arrays in Pascal • Languages influence machines • call/return assembly instructions • Frame pointers • Caches

  5. Clarity, simplicity and unity readability avoidance of similar notation for different meanings Orthogonality Features of the language should be able to be combined Naturalness for the application Good mapping algorithm/syntax Support for abstraction Ability to use program elements by their abstract properties Ease of Program verification Programming Environment IDE Portability of Programs Programs should be transportable across implementations Low Cost of Use Program Execution Program Translation Program Creation, testing and use Program Maintenance Desirable Attributes of Languages

  6. Imperative Languages how it is to be computed Declarative Languages what is to be computed Functional Languages value of elements Logic Languages accumulation of constraints Object-Oriented Languages Everything is an object Computation as object interaction Language Paradigms