- Type
- Handout
- Course
- CS508 Modern Programming Languages
- Size
- PDF 1.7 MB
- Updated
- 23 Oct 2026
You get 3 free files a day on the website. Add the Chrome extension for 30 a day.
Preview text
Text from pages 2, 4, 5 of 189. Download the file for all 189 pages.
TABLE of CONTENTS
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. 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.
Related CS508 files
All CS508 files →- CS508 Midterm File 1 Midterm PDF 1.2 MB
- CS508 Solved Quiz 4 by Masters Quiz PDF 5.6 MB
- CS508 Official Handouts Official handout PDF 1.2 MB Free
- CS508 Highlighted Handouts by VU Topper RM Highlighted PDF 2.4 MB
- CS508 Highlighted Handouts by Mickey Ch Highlighted PDF 1.7 MB
- CS508 Midterm Solved MCQs by Junaid Midterm PDF 1.4 MB
Get more out of VUBuddy, for free
- Unlimited downloads
- The explanation behind every MCQ answer
- Study offline on slow data
- 30 downloads a day instead of 3
- Sign in and buy Pro Semester here
One Pro Semester membership works in both the extension and the app.