Jump to ratings and reviews
Rate this book

Concepts of Programming Languages

Rate this book
For undergraduate students in Computer Science and Computer Programming courses. Now in its Tenth Edition, Concepts of Programming Languages introduces students to the main constructs of contemporary programming languages and provides the tools needed to critically evaluate existing and future programming languages. Readers gain a solid foundation for understanding the fundamental concepts of programming languages through the author's presentation of design issues for various language constructs, the examination of the design choices for these constructs in some of the most common languages, and critical comparison of the design alternatives. In addition, Sebesta strives to prepare the reader for the study of compiler design by providing an in-depth discussion of programming language structures, presenting a formal method of describing syntax, and introducing approaches to lexical and syntactic analysis.

784 pages, Paperback

First published January 1, 1988

51 people are currently reading
791 people want to read

About the author

Robert W. Sebesta

23 books6 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
104 (27%)
4 stars
111 (29%)
3 stars
108 (28%)
2 stars
35 (9%)
1 star
17 (4%)
Displaying 1 - 22 of 22 reviews
Profile Image for Andrew Klem.
48 reviews7 followers
August 13, 2016
This book contained a lot of information, but it was about as dry as a book can be, and the outside didn't give a clear idea of what the inside was going to cover. "Concepts of Programming Languages" is an absurdly poor title. Can you imagine picking up a book called "Concepts of Math"? What would even be in that? Or "Concepts of Poodles"? There's a reason you haven't seen that last one on the shelves. A title like that is nearly meaningless.

I was extremely interested in the topics covered by this book, but the book made them feel uninteresting.

Furthermore, this book presumed an understanding of 6 or more programming languages, but the majority of the book was simultaneously dedicated to explaining the basic concepts of languages in general. For the 2 languages that I knew, the explanations were so basic that the sections were boring. For the languages I didn't know, the syntax was so devoid of context that the conceptual sections made little sense. For this reason, I'm not sure who the intended audience of this book was. People who are "fluent" in 6+ languages will probably find it boring, and newbies will probably find it way too complex.

Overall, I'd say check out the Table of Contents on Amazon, then watch YouTube videos about similar subjects. You'll cover a lot more ground in a lot less time, and you'll almost certainly retain more information.

On the positive side, the exercises at the end of each chapter look interesting. I wasn't reading this for a class, and the exercises look like they will take dozens of hours per chapter, so I didn't do them right now. If you were actually to work through the exercises and spend a year or so studying this book, you might get more out of it than I did.
Profile Image for astaliegurec.
984 reviews
June 20, 2021
2.0 out of 5 stars
Focuses Almost Exclusively on Imperative Languages
April 25, 2008

I'm highly disappointed in this book. The biggest problem with it (and it's mighty big for a book that's supposed to talk about the concepts of various programming languages) is that it focuses almost entirely on a subset of imperative languages. Almost exclusively, the descriptions and examples involve Fortran, C, C++, Java, C# and Ada. Only in the last two chapters does the author really talk about other types of programming languages and those two chapters are devoted to them. It's like they were just tacked on.

After that, the other problems with the book are relatively insignificant. First, the book is badly edited. In spots, it reads like it was mechanically translated from a foreign language. Second, an awful lot of his explanations are unnecessarily filled with pretentious-sounding multi-syllabic words. For instance, on page 183 he gives the following description of a top-down parser:

"Given a sentential form that is part of a leftmost derivation, the parser's task is to find the next sentential form in that leftmost derivation. The general form of a left sentential form is xAa (my note: that "a" is actually the letter alpha in the book), whereby our notational conventions x is a string of terminal symbols, A is a nonterminal, and a is a mixed string. Because x contains only terminals, A is the leftmost nonterminal in the sentential form, so it is the one that must be expanded to get the next sentential form in the leftmost derivation."

And finally (for my purposes here), he defines things using undefined (or merely "later-defined") terms. For instance, on page 220 he says, "stack-dynamic variables are allocated from the run-time stack." He doesn't define what a run-time stack is until page 433 and that definition is: "This stack is part of the run-time system, and therefore is called the [b]run-time stack[/b]." The real kicker is he doesn't explain WHY the use of a stack is important here.

If it were just a matter of those smaller problems I have with the book, I could give it a decent rating. But, his focus in imperative languages just kicks the legs out from under the book. The best I can give it is a Not Very Good two stars out of five. A much better book is Michael L. Scott's Programming Language Pragmatics, Second Edition .
Profile Image for Audrey Kim.
5 reviews
January 23, 2023
This book sucks. It does not do even a remotely good job at explaining anything. 0/10 do not read.
Profile Image for Layan - ليان.
58 reviews1 follower
August 21, 2018
I thought I could get an A in this class...

I would've loved more illustrations and maps to connect the topics, it was quite a heavy read since everything is connected in mysteries ways. But overall I enjoyed it.
Profile Image for Sarah.
371 reviews4 followers
May 12, 2018
The topic is very interesting to me, but this book is very hit or miss. Some chapters seem extremely readable, and others are impenetrable. The book gave me a deeper knowledge of the subject, but could have used more illustrative examples, diagrams, and other aids to understanding. If choosing a book on this topic, I would guess there's a better one.
1 review
May 24, 2023
Used this textbook for my Concepts Of Programming languages course, this book in itself is almost completely worthless besides the first 4 chapters. Other than that you get told basic concepts that should be learned about programming languages in an introductory course for the most part, there is sporadic useful information but other than that very unclear and wordy.
Profile Image for Rafsan.
149 reviews
March 11, 2024
Superficial Reading: Completed [11 march, 2024]
"After finishing the book, I have realized that I need to read the book again to understand it more precisely."
Profile Image for Iurii Mednikov.
18 reviews
January 27, 2025
Essential reading for computer science undergrads. If your knowledge of the theory of programming languages comes from reddit only - you need to start with this book as soon as possible.
Profile Image for Christoffer Lernö.
210 reviews4 followers
December 30, 2020
Occasionally very flawed (eg incorrect description of how Objective-C OO works) and the “evaluations” appear little more than the author’s / contributors’ subjective opinions. That said it’s still an enjoyable read. Not much new things for me personally so what I primarily take away from this book is the presentation itself: lots of code examples and the choices of subjects are well selected and interesting. Worth a read but do not be surprised if the book is misrepresenting some languages.
Profile Image for Nick Black.
Author 2 books879 followers
March 23, 2008
I TA'd CS3411 with this book, and it impressed me at the time. Lots of good tidbits. The chapter on denotational semantics is utterly stillborn -- I remember it so incomplete and confusing even after eight years that I mustn't allow more than three dankstars.
Profile Image for Navid.
6 reviews4 followers
April 25, 2017
Good book, I would say it is introduction to the topic.The only problem I had with this book is author choices of languages. For example he could chose better more modern languages like Go, Rust, ErLang, etc instead of something like Ada.
Profile Image for Carter.
597 reviews
December 31, 2021
Sebesta's old Concepts of Programming Languages, is a book I have revisited many times; I believe my first copy, was something I picked up in Hong Kong- possibly prior to landing in HKIS. Recommended.
Profile Image for Nima Omidan.
3 reviews
Read
February 28, 2007
Sebesta has got an ease pen on this book.introducing new languages come after the complete history of age of languages.
75 reviews7 followers
March 1, 2011
I love reading stuff like this, it's filled with anecdotes about obscure computer language facts and events, and has interviews with language designers
Author 1 book2 followers
August 27, 2015
Seemed to cover the content well. I only read the chapters required for class.
Profile Image for Narin.
170 reviews8 followers
Read
December 29, 2017
Kitapla aynı addaki dersim için okudum, zaten derste de kitabın slaytlarını kullanıyorduk. Programlama mantığını -başka dilleri de öğrenme aşamasında basamak olması için- teorik olarak ele alıp anlatıyor kitap. Anlatımı -bence- fazlasıyla sıkıcı ve örnekleri pek çok farklı dil üzerinden (C++, Java, LISP, Ada, Pascal ve daha hatırlayamadığım başka diller) yapılmış. Farklı dil kullanılmasını inceleyip görebilme şansımın olmasından dolayı sevdim ancak örnekleri sayı, açıklık ve anlatım açısından yetersiz buldum.
İngilizcesi kolay değildi. Bence bu kitabı okumak yerine birkaç uygulama yapsanız daha çok kazanç sağlarsınız.
Displaying 1 - 22 of 22 reviews

Can't find what you're looking for?

Get help and learn more about the design.