Skip to content
VUBuddy

CS604 Highlighted Handouts by VU Sparky

Operating Systems PDF 2.5 MBUpdated 23 Oct 2026
Highlighted handout CS604 Highlighted Handouts by VU Sparky PDF 2.5 MB
vubuddy.com
Type
Highlighted handout
Course
CS604 Operating Systems
Size
PDF 2.5 MB
Updated
23 Oct 2026
Free download 0 of 3 used today
Download free · 2.5 MB

You get 3 free files a day on the website. Add the Chrome extension for 30 a day.

Unlimited downloads in the Android app Get it free on Google Play

Preview text

Text from pages 5, 7, 8 of 192. Download the file for all 192 pages.

TABLE of CONTENTS

Language Evaluation Criterion.....................................................................................................6 Language Evaluation Criterion...................................................................................................15 An Introduction to SNOBOL (Lecture 9-12).............................................................................32 Ada Programming Language: An Introduction (Lecture 13-17).............................................45 LISP Programming Language: An Introduction (Lecture 18-21)...........................................63 PROLOG - Programming in Logic (Lecture 22-26) .................................................................77 Java Programming Language (Lecture 27-30)..........................................................................92 C# Programming Language (Lecture 31-34)...........................................................................111 PHP – Personal Home Page PHP: Hypertext Preprocessor (Lecture 35-37)........................129 Modern Programming Languages-JavaScript ........................................................................141 Lecture 38....................................................................................................................................141 Location of Code.........................................................................................................................141 Arrays..........................................................................................................................................143 Operators ....................................................................................................................................144 Type Conversion.........................................................................................................................144 Control Statements.....................................................................................................................144 Labels and Flow Control ...........................................................................................................145 Modern Programming Languages-JavaScript ........................................................................147 Lecture 39....................................................................................................................................147 Objects.........................................................................................................................................147 Two Object Models ....................................................................................................................147 Modern Programming Languages............................................................................................160 Lecture # 40.................................................................................................................................160 Names ..........................................................................................................................................160 Special Words .............................................................................................................................160 Possible binding times................................................................................................................160 Static and Dynamic Binding......................................................................................................161 Type Bindings .............................................................................................................................161 Dynamic Type Binding ..............................................................................................................161 Storage Bindings.........................................................................................................................161 Categories of variables by lifetimes ..........................................................................................161 Explicit Heap Dynamic Variables.............................................................................................162 Implicit Heap Dynamic Variables.............................................................................................162

Type Checking ............................................................................................................................163 Strongly Typed Languages?......................................................................................................163 Type Compatibility.....................................................................................................................163 Data Types...................................................................................................................................164 Primitive Data Types..................................................................................................................164 Character String Types..............................................................................................................164 Ordinal Types (user defined).....................................................................................................165 Four Categories of Arrays (based on subscript binding and binding to storage) ................167

Records-(like structs in C/C++).................................................................................................168 Pointers........................................................................................................................................169 Unions..........................................................................................................................................170 Arithmetic Expressions..............................................................................................................172 Thousands of different programming languages have been designed by different people over the last 60 years. The questions that come to mind are:

Why are there so many different programming languages?

How and why they are developed?

What is the intended purpose of a language?

In what ways are they similar?

What are the differences among them?

Why wouldn’t we simply continue to use what we have today?

What kinds of programming languages may be developed in future?

We will try to answer some of these questions in this course.

In addition, we will discuss the design issues of various languages, design choices and alternatives available, historical context and specific needs, and specific implementation issues.

Text Book

The main text book for this course is: Concepts of Programming Languages, 6th Ed. by Robert Sebesta. Introduction and Historical Background (Lecture 1-8) VU

Reasons to study concepts of Programming Languages

The first question is: why should we study programming languages. There are many reasons for that and some of them are enumerated in the following paragraphs.

Increased capacity to express programming concepts

Study of programming languages helps in increasing the capacity to express programming concepts.

Dijkstra has put it as follows: The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.

That is, one is limited in his/her thinking by the tools used to express his/her ideas.

Depth at which we can think is influenced by the expressive power of the language. It includes the kind of algorithms you can develop. The range of software development thought process can be increased by learning new languages as those constructs can be simulated.

Improved background for choosing appropriate languages

Study of programming languages also helps one in choosing the right language for the given task. Abraham Maslow says, " To the man who only has a hammer in the toolkit, every problem looks like a nail."

That is, if the only tool you have is a hammer, then you will treat every problem like a nail. Sometimes, some programming languages are more suitable for a specific task. There are many special purpose languages. In this course we will study one such language by the name of Snobol.

Increased ability to learn new languages

Study of different programming languages also helps one in learning new languages by learning the syntax and semantics of different languages and understanding different design methodologies.

Understanding the significance of implementation

In some cases, an understanding of implementation issues leads to an understanding of why languages are designed the way they are. This ultimately leads to efficient use of the language. One such example is Row vs. column major. If a programmer knows that twodimensional arrays are stored column-wise (column major) in FORTRAN (where in most other languages it is row major) then he will be careful to process it column-wise, hence making it more efficient.

All CS604 files →
CS604 Operating Systems All CS604 handouts, past papers, quizzes and MCQs in one place. Open course page

Get more out of VUBuddy, for free

Android app Free on Google Play
  • Unlimited downloads
  • The explanation behind every MCQ answer
  • Study offline on slow data
Get the Android app
Chrome extension Free on the Chrome Web Store
  • 30 downloads a day instead of 3
  • Sign in and buy Pro Semester here
Add to Chrome

One Pro Semester membership works in both the extension and the app.