PLC Session 1

This is the first meeting of programming language concept class in semester 1 and in my first year in college. We started the lesson with introduction from our lecturer and not to  forget about the class rules,for instances like point system, presentation, etc. We start the class with the introduction to Programming language concept.There are a lot of topics like

  • Reasons for Studying Concepts of Programming Languages
  • Programming Domains
  • Language Evaluation Criteria
  • Influences on Language Design
  • Language Categories
  • Implementation Methods

That was broke down by our lecturer into a set of mind map.The first topic is about Reason for Studying Concepts of Programming Languages.There are several benefits that we can get while studying concept of programming languages for example like, we can Increase our ability to express ideas,Improve our background for choosing appropriate languages, Increasing our ability to learn new computer languages,etc. And not to forget we also talked about the domain of programming or IT role in the real world like making scientific applications, business application, artificial intelligence, system programming, and a lot more. Next topic is about Language Evaluation Criteria, in this topic we talked about the requirement of a programming language to be a good language or not. There are 4 criteria, readability,writability, reliability, and cost.

Readability means the ease with which programs can be read and understood so that programmer can have a better understanding. Another criteria is writability, it means the ease with which a language can be used to create programs. There is also reliability, that means language should run as expected to its specification. Lastly there is cost, means that a language should have the most optimization and minimum cost. Another topic is about influences on language design. The subtopic talks about computer architecture and programming design methodologies. Computer architecture itself talks about how Von Neumann’s architecture influence the design of a programming language. Those languages that uses Von’s architecture were called imperative language because data and programs stored in memory, memory is separate from CPU, instructions and data are transmitted from memory to CPU.Nearly all digital computers built since the 1940s have been based on the von Neumann architecture. The overall structure of a von Neumann computer is shown below

 

Because of the Von Neumann architecture, the central of imperative language are variables, assignment statements, and the iterative form of repetition.The other subtopic is Programming Design Methodologies, this subtopic talk about the wave of changes on programming language from early 1950 to middle 1980.In 1950’s through early 1960’s people concern about machine efficiency but it was hard to understand, so languages become more structured and more easy to understand, for example like languages are read from top to down. Then later languages became data oriented instead of process oriented in late 1970’s until the emerging of object oriented programming. Another topic in this session is language categories which includes  imperative, functional, logic, and object oriented that categorize programming languages. Last topic is about Implementation Methods,

Implementation Methods includes Compilation, Pure Interpretation ,and Hybrid Implementation System. Compilation process is done by compiler, compiler is the one which translate program into machine language.We learn that the language that a compiler translates is called the source language,and then the lexical analyzer gathers the characters of the source program into lexical units.So that the syntax analyzer takes the lexical units from the lexical analyzer and uses them to construct hierarchical structures called parse trees. We will discuss these things later in another session.There is also pure interpretation, it is opposite to the compilation process because in pure  interpretation programs are not translated only interpreted by the interpreter.We also learn that  The interpreter program acts as a software simulation of a machine.We also talked about Hybrid Implementation System, it is a language implementation system that compromise between compilation and pure interpretation.

 

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *