Session 1 : Introduction
September30
Implementation Methods
-
Compilation
Programs are translated into machine language; includes JIT systems
Use: Large commercial applications
-
Pure Interpretation
Programs are interpreted by another program known as an interpreter
Use: Small programs or when efficiency is not an issue
-
Hybrid Implementation Systems
A compromise between compilers and pure interpreters
Use: Small and medium systems when efficiency is not the first concern
Influences on Language Design
-
Computer Architecture
Languages are developed around the prevalent computer architecture, known as the von Neumann architecture
-
Program Design Methodologies
New software development methodologies (object-oriented software development) led to new programming paradigms and by extension, new programming languages
Language Categories
- Imperative
- Functional
- Logic
- Markup/programming hybrid
Language Evaluation Criteria
- Readability: the ease with which programs can be read and understood
- Writability: the ease with which a language can be used to create programs
- Reliability: conformance to specifications (i.e., performs to its specifications)
- Cost: the ultimate total cost
Programming Domains
- Scientific applications
- Business applications
- Artificial intelligence
- Systems programming
- Web Software
Reasons for Studying Concepts of Programming Languages
- Increased ability to express ideas
- Improved background for choosing appropriate languages
- Increased ability to learn new languages
- Better understanding of significance of implementation
- Better use of languages that are already known
- Overall advancement of computing