Influences on Language Design
- Computer Architecture
- Programming Methodologies
- Virtual Machine
1. Computer Architecture:
Computer architecture in based on Von Neumann Architecture. A programming language is also affected by the architecture of computer. But how ? This is the question will see here. When we deploy/run a programs it reside in a memory and executed by the CPU. There are registers like program counter, instruction register etc. Each instruction going from memory to CPU is decided by program counter. And program counter get instruction info from instruction register. In this a way a program developed in languages passes trough this kind of cycle. Which affect the execution time of the language.
If system is multi user it will consume lot of time.
2. Programming Methodologies:
- Structured programming: This programming methodology also called top own design and step wise refinement. Its deficiency was incompleteness of type checking and inadequacy of control statements, which requires extensive use of go to statements. Ex. C.
- Data oriented programming: It focuses on data oriented methods emphasize data design, focusing on the use of abstract data types to solve the problem. Ex. Simula.
- Procedure oriented programming: It is the opposite of data oriented programming. Ex. C#.
- Object oriented programming: It gives support for Data abstraction, inheritance, polymorphism. Ex. C++.
3. Virtual Machine:
Virtual machines are software’s on which other software’s can be executed as they are executing on a physical machine.
There are two types of virtual machine:
- Application/ process virtual machine.
- System/hardware virtual machine.
1. Application/process virtual machine: In this we can take example of JVM. Because of JVM, Java is a platform independent language.
2. System/hardware virtual machine: In this we can take example of Virtual Box. Which gives as ability to run multiple of operating systems on a single physical machine. Here operating system is also a programming language which should be supported by Virtual Box.
Viva Vice Q & A:
Q1. which factors influence the language?
Ans: virtual machine, comp. architecture, user, programming methodology, etc.
Q2. Program which interprets each line of high level program at time of execution is called?
Ans: Interpreter.
Q3. Program which interprets whole para of high level program at time of execution is called?
Ans: Compiler.
Q4. During the execution of the instructions, a copy of the instructions is placed in which part?
Ans: Cache.
Q5. Functions that are used in programs and are defined by programmers are called.
Ans: User-defined functions.
Q6. The internal Components of the processor are connected by?
Ans: Bus.
Q7. Set of data whose items are organized together is classified as…..
Ans: data structure.
Q8. The ______ format is usually used to store data.
Ans: BCD.
Q9. To reduce the memory access time we generally make use of ?
Ans: Cache.
Q10. The computer’s own binary-based language is also known as?
Ans: Machine language.
Q11. Write example of “third generation” programming languages (3GL) ?
Ans: FORTRAN, LISP, and COBOL.
Q12. What is the common property of logic programming languages and functional languages is?
Ans: Both are declarative.
Q13. Programming language ‘FORTRAN’ stands for
Ans: formula translator
Principles of Programming Languages:
EasyExamNotes.com covered following topics in these notes.
EasyExamNotes.com covered following topics in these notes.
- Language Evaluation Criteria
- Influences on Language Design
- Language Categories
- Programming Paradigms
- Compilation
- Virtual Machines
- Programming Environments
- Issues in Language Translation
- Parse Tree
- Pointer and Reference type
- Concept of Binding
- Type Checking
- Strong typing
- Sequence control with Expression
- Exception Handling
- Subprograms
- Fundamentals of sub-programs
- Scope and lifetime of variable
- static and dynamic scope
- Design issues of subprogram and operations
- Local referencing environments
- Parameter passing methods
- Overloaded sub-programs
- Generic sub-programs
- Design issues for functions
- co routines
- Abstract Data types
- Abstraction and encapsulation
- Static and Stack-Based Storage management
- Garbage Collection
- OOP in C++
- OOP in Java
- OOP in C#
- OOP in PHP
- Concurrency
- Semaphores
- Monitors
- Message passing
- Java threads
- C# threads
- Exception handling
- Exceptions
- Exception Propagation
- Exception handler in C++
- Exception handler in Java
- Introduction and overview of Logic programming
- Basic elements of Prolog
- Application of Logic programming
- Functional programming languages
- Introduction to 4GL
Practicals:
- Memory Implementation of 2D Array.
- Memory Implementation of 3D Array.
- Implementation of pointers in C++.
- Write a program in Java to implement exception handling.
- Write a program in C++ to implement call by value parameter passing Method.
- Write a program in C++ to implement call by reference parameter passing Method.
- Write a program in Java to implement concurrent execution of a job using threads.
- Implement Inheritance in C#.
- Implement Encapsulation in C#.
- Implement static/compiletime Polymorphism in C#.
- Implement dynamic/runtime Polymorphism in C#.
Previous years solved papers:
A list of Video lectures
References:
- Sebesta,”Concept of programming Language”, Pearson Edu
- Louden, “Programming Languages: Principles & Practices” , Cengage Learning
- Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill.
- E Horowitz, “Programming Languages”, 2nd Edition, Addison Wesley
- Memory Implementation of 2D Array.
- Memory Implementation of 3D Array.
- Implementation of pointers in C++.
- Write a program in Java to implement exception handling.
- Write a program in C++ to implement call by value parameter passing Method.
- Write a program in C++ to implement call by reference parameter passing Method.
- Write a program in Java to implement concurrent execution of a job using threads.
- Implement Inheritance in C#.
- Implement Encapsulation in C#.
- Implement static/compiletime Polymorphism in C#.
- Implement dynamic/runtime Polymorphism in C#.
Previous years solved papers:
A list of Video lectures
References:
- Sebesta,”Concept of programming Language”, Pearson Edu
- Louden, “Programming Languages: Principles & Practices” , Cengage Learning
- Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill.
- E Horowitz, “Programming Languages”, 2nd Edition, Addison Wesley