1 / 6

Language Design Issues

Language Design Issues. Juan Carlos Guzmán CS 6123 Theory & Implementation of Programming Languages Southern Polytechnic State University. Fortran C Pascal Java PostScript TeX APL ML. Lisp Cobol Snobol Haskell Perl Rexx C++ PHP. Why So Many Languages?. Oracle C# Adobe Basic

Download Presentation

Language Design Issues

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related