Session 1 : Introduction (part 2)
In the class, ms. Yanfi taught us that why should we learn Programming Language Concept(PLC), programming domain, language evaluation criteria, influences on language design, and it's implementation methods.
first, why we should learn that PLC?
1. It's increased ability to express ideas
2. It's improved background for choosing appropriate languages
3. It's increased ability to learn new languages
4. Better understanding of significance of implementation
5. Better use of languages that are already known
6. Overall advancement of computing.
And if you have learned PLC, you will be able to follow the development of the newest programming language.
Programming Domain, This topic shows how computers have been applied for various purposes, and there is 5 programming domain such as :
- Scientific applications
- Business applications
- Artificial intelligence
- Systems programming
- Web Software
Language Evaluation Criteria that consist :
1. Readability => the ease with which programs can be read and understood
2. Writability => the ease with which a language can be used to create programs
3. Reliability => conformance to specifications(i.e., performs to its specifications)
4. Cost => the total cost of a programming language is a function of many of its characteristic
Influences on language design :
1. Computer Architecture => Languages are developed around the prevalent computer architecture, known as the von Neumann architecture
- Well-known computer architecture: Von Neumann
- Imperative languages, most dominant, because of von Neumann computers
-Data and programs stored in memory
-Memory is separate from CPU
-Instructions and data are piped from memory to CPU
-Basis for imperative languages
-Variables model memory cells
-Assignment statements model piping
-Iteration is efficient
2. Program Design Methodologies => New software development methodologies (e.g., object-oriented software development) led to new programming paradigms and by extension, new programming languages
-1950s and early 1960s: Simple applications; worry about machine efficiency
-Late 1960s: People efficiency became important; readability, better control structures
-structured programming
-top-down design and step-wise refinement
-Late 1970s: Process-oriented to data-oriented
-data abstraction
-Middle 1980s: Object-oriented programming
-Data abstraction + inheritance + polymorphism
Implementation methods :
1. Compilation
Programs are translated into machine language; includes JIT systems
Use: Large commercial applications
2. Pure Interpretation
Programs are interpreted by another program known as an interpreter
Use: Small programs or when efficiency is not an issue
3. Hybrid Implementation Systems
A compromise between compilers and pure interpreters
Use: Small and medium systems when efficiency is not the first concern
first, why we should learn that PLC?
1. It's increased ability to express ideas
2. It's improved background for choosing appropriate languages
3. It's increased ability to learn new languages
4. Better understanding of significance of implementation
5. Better use of languages that are already known
6. Overall advancement of computing.
And if you have learned PLC, you will be able to follow the development of the newest programming language.
Programming Domain, This topic shows how computers have been applied for various purposes, and there is 5 programming domain such as :
- Scientific applications
- Business applications
- Artificial intelligence
- Systems programming
- Web Software
Language Evaluation Criteria that consist :
1. Readability => the ease with which programs can be read and understood
2. Writability => the ease with which a language can be used to create programs
3. Reliability => conformance to specifications(i.e., performs to its specifications)
4. Cost => the total cost of a programming language is a function of many of its characteristic
Influences on language design :
1. Computer Architecture => Languages are developed around the prevalent computer architecture, known as the von Neumann architecture
- Well-known computer architecture: Von Neumann
- Imperative languages, most dominant, because of von Neumann computers
-Data and programs stored in memory
-Memory is separate from CPU
-Instructions and data are piped from memory to CPU
-Basis for imperative languages
-Variables model memory cells
-Assignment statements model piping
-Iteration is efficient
2. Program Design Methodologies => New software development methodologies (e.g., object-oriented software development) led to new programming paradigms and by extension, new programming languages
-1950s and early 1960s: Simple applications; worry about machine efficiency
-Late 1960s: People efficiency became important; readability, better control structures
-structured programming
-top-down design and step-wise refinement
-Late 1970s: Process-oriented to data-oriented
-data abstraction
-Middle 1980s: Object-oriented programming
-Data abstraction + inheritance + polymorphism
Implementation methods :
1. Compilation
Programs are translated into machine language; includes JIT systems
Use: Large commercial applications
2. Pure Interpretation
Programs are interpreted by another program known as an interpreter
Use: Small programs or when efficiency is not an issue
3. Hybrid Implementation Systems
A compromise between compilers and pure interpreters
Use: Small and medium systems when efficiency is not the first concern
Komentar
Posting Komentar