0% found this document useful (0 votes)
20 views

Lecture 01

This document discusses key questions about programming languages and concepts to be covered. It will discuss design issues, choices and historical context of various languages. Studying programming language concepts increases one's ability to express ideas, choose the right language, learn new languages, understand design methodologies, and design new languages. It also improves understanding of implementation impacts.

Uploaded by

Arshad
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Lecture 01

This document discusses key questions about programming languages and concepts to be covered. It will discuss design issues, choices and historical context of various languages. Studying programming language concepts increases one's ability to express ideas, choose the right language, learn new languages, understand design methodologies, and design new languages. It also improves understanding of implementation impacts.

Uploaded by

Arshad
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 7

Questions to be Answered

• 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 Discuss
• Design issues of various languages
• Design choices and alternatives
• Historical context and specific needs
• Implementation issues
Concepts of Programming
Languages, 6th Ed.

Robert Sebesta
Reasons to study concepts of
Programming Languages

• Increased capacity to express programming


concepts
• Improved background for choosing
appropriate languages
• Increased ability to learn new languages
• Design methodologies
• Understanding the significance of
implementation
• Increased ability to design new languages
Increased Capacity to express
programming concepts
The tools we use have a profound (and devious!)
influence on our thinking habits, and, therefore, on our
thinking abilities.
Edsger Dijkstra

• Depth at which we can think is influenced by the


expressive power of the language.
• What kind of algorithms can you develop.
• Can increase the range of software development thought
process by learning new languages.
• Those constructs can be simulated
Improved background for
Choosing appropriate languages
"To the man who only has a hammer in
the toolkit, every problem looks like a nail."

Abraham Maslow

• Sometimes, some programming


languages are more suitable for a specific
task.
– Special purpose languages: Snobol
Better understanding of
significance of implementation

• In some cases, an understanding of


implementation issues leads to an
understanding of why languages are designed
the way they are.
• Leads to efficient use of the language.
– Row vs. column major
– recursion
• Certain bugs can only be found and fixed if the
programmer knows some related
implementation details.

You might also like