PPL: Influences on Language Design

Influences on Language Design
  1. Computer Architecture
  2. Programming Methodologies
  3. 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:

  1. Application/ process virtual machine.
  2. 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. 
    Click here to view on YouTube


    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 PPL.

    Practicals:
    Previous years solved papers:
    A list of Video lectures
    References:
    1. Sebesta,”Concept of programming Language”, Pearson Edu 
    2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
    3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
    4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Python Programming ↓ 👆
    Java Programming ↓ 👆
    JAVA EasyExamNotes.com covered following topics in these notes.
    JAVA Programs
    Principles of Programming Languages ↓ 👆
    Principles of Programming Languages
    EasyExamNotes.com covered following topics in these notes.

    Practicals:
    Previous years solved papers:
    A list of Video lectures References:
    1. Sebesta,”Concept of programming Language”, Pearson Edu 
    2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
    3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
    4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

      Computer Organization and Architecture ↓ 👆

      Computer Organization and Architecture 

      EasyExamNotes.com covered following topics in these notes.

      1. Structure of desktop computers
      2. Logic gates
      3. Register organization
      4. Bus structure
      5. Addressing modes
      6. Register transfer language
      7. Direct mapping numericals
      8. Register in Assembly Language Programming
      9. Arrays in Assembly Language Programming

      References:

      1. William stalling ,“Computer Architecture and Organization” PHI
      2. Morris Mano , “Computer System Organization ”PHI

      Computer Network ↓ 👆
      Computer Network

      EasyExamNotes.com covered following topics in these notes.
      1. Data Link Layer
      2. Framing
      3. Byte count framing method
      4. Flag bytes with byte stuffing framing method
      5. Flag bits with bit stuffing framing method
      6. Physical layer coding violations framing method
      7. Error control in data link layer
      8. Stop and Wait scheme
      9. Sliding Window Protocol
      10. One bit sliding window protocol
      11. A protocol Using Go-Back-N
      12. Selective repeat protocol
      13. Application layer
      References:
      1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
      2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
      3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
      4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.