59 used & new from $3.06

Have one to sell? Sell yours here
 
 
Concepts of Programming Languages, Sixth Edition
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Concepts of Programming Languages, Sixth Edition (Hardcover)

~ (Author)
3.1 out of 5 stars  See all reviews (32 customer reviews)


Available from these sellers.


16 new from $10.99 43 used from $3.06

Formats

Amazon Price New from Used from
  Hardcover, April 27, 2007 $84.49 $48.99 $14.60
  Hardcover, July 24, 2003 -- $10.99 $3.06
  Paperback, April 12, 1989 -- $29.89 $7.74
There is a newer edition of this item:
Concepts of Programming Languages (8th Edition) Concepts of Programming Languages (8th Edition) 3.1 out of 5 stars (32)
$84.49
In Stock.
What Do Customers Ultimately Buy After Viewing This Item?
Concepts of Programming Languages, Sixth Edition
94% buy the item featured on this page:
Concepts of Programming Languages, Sixth Edition 3.1 out of 5 stars (32)
Programming Language Pragmatics, Third Edition
2% buy
Programming Language Pragmatics, Third Edition 4.8 out of 5 stars (22)
$56.00
Operating System Concepts
1% buy
Operating System Concepts 3.7 out of 5 stars (12)
$102.49
Compilers: Principles, Techniques, and Tools (2nd Edition)
1% buy
Compilers: Principles, Techniques, and Tools (2nd Edition) 4.1 out of 5 stars (68)
$95.29

Special Offers and Product Promotions

  • Earn 5% CashBack with PayPhrase. Use PayPhrase for express checkout and earn up to $250 CashBack. Get started by choosing your PayPhrase. Limited time offer, restrictions apply. Learn more.


Customers Who Bought This Item Also Bought

Operating System Concepts

Operating System Concepts

by Abraham Silberschatz
3.7 out of 5 stars (12)  $102.49
Software Engineering: A Practitioner's Approach

Software Engineering: A Practitioner's Approach

by Roger S. Pressman
$119.60
Modern Operating Systems (3rd Edition)

Modern Operating Systems (3rd Edition)

by Andrew S. Tanenbaum
3.9 out of 5 stars (31)  $100.91
Artificial Intelligence: A Modern Approach (2nd Edition)

Artificial Intelligence: A Modern Approach (2nd Edition)

by Stuart J. Russell
4.2 out of 5 stars (86)  $93.59
Computer Organization and Architecture: Designing for Performance (8th Edition)

Computer Organization and Architecture: Designing for Performance (8th Edition)

by William Stallings
2.2 out of 5 stars (28)  $105.19
Explore similar items

Editorial Reviews

Review

Concepts of Programming Languages by Robert W. Sebesta, Sixth edition is truly a well-written book. Perhaps one of the best books written on this topic. Sebesta has done an exceptional job conveying the topic to the reader, making a complex topic both easy to read and understand. This textbook is good for any college student or professional trying to get a feel of how the most popular programming languages have evolved in the past 4 decades, and what sets these languages apart. Topics in this book range from Zuse's Plankalkul (the first programming language) to how Exception Handling is done in Java and Logic Programming and everything in between. Interviews with some of the pioneers of our time such as James Gosling (the creator of Java) and Bjarne Stroustrup (the designer of C++), and side "History Notes" represent some of the "fun" readings the author has added to this book. Each chapter ends with a brief but concise summary followed by problem sets that assess the important topics covered in the chapter. Even though this book is targeted for a junior-level programming course, some of the topics are well worth the reading for an advanced programmer or a graduate student. The author starts by giving the reasons behind why such topic needs to be studied: · To increase capacity to express ideas - the depth at which we can program, just like the way we think, is highly influenced by the expressive power of the language in which we communicate our thoughts. · Improved background for choosing appropriate language - if you know more about programming languages, you have a better idea what to choose when development time comes. · Increased Ability to learn new languages - continuous learning in the field of software engineering is very much essential. If one knows the concepts of one programming language, applying those concepts to other language to learn or understand become much simpler and easier. · Better understanding of the significance of implementation - Someone who knows the implementation details of that language can only fix some programming bugs. · Overall advancement of computing - For better decisions to be made going forward with computing and software development, one needs to learn from some of the mistakes that gotten us where we are. Things to do or not to do in this relatively new science. The author starts by giving a very descriptive background on programming languages, starting from Zuse's Plankalkul, the first programming language. Zuse's defined the Plankalkul and wrote many algorithms in the language for a variety of problems. Even thought it was never implemented, Plankalkul paved the way for other programming languages that would follow it. Fortran, LISP, ALGOL 60, COBOL, BASIC and other high-level programming languages would follow over the years and evolve. The author gives the history behind each language, and goes in to a detail description of how each language evolved over the years. Even though chapter 2 gives the background behind most programming languages, the book only covers the most popular and widely used programming languages thereafter, mainly Fortran, C/C++, Ada and Java. If your goal is not to teach or learn the details of compilers and/or compiler design, chapter 3 and 4 are defiantly for you. Lexical analysis talks about small-scale language constructs, such as names and numeric literals. Syntax analysis deals with the large-scale constructs, such as expressions, statements, and program units. In less than a hundred pages of text, the author explains the background, theory and implementation of syntax and lexical representation and analysis. It wets the reader's appetite enough that if --Concept of Programming

The fifth edition of Concepts of Programming Languages by Robert Sebesta describes fundamental concepts of programming languages by presenting design issues of the various language constructs, examining the design choices for these constructs in a few common languages, and critically comparing the design alternatives. The fifth edition of Concepts of Programming Languages by Robert Sebesta continues the approach that has made it the undisputed market leader. It describes fundamental concepts of programming languages by presenting design issues of the various language constructs, examining the design choices for these constructs in a few common languages, and critically comparing the design alternatives. This is an ideal text for students taking a comparative programming languages course: it allows those with the ability to program to learn how to choose appropriate languages for certain tasks, increase their abilities to learn new languages, and understand the significance of implementation. This new edition is updated to include a new chapter covering parsing, new material on JavaScript, and updated material on Java1.3. *NEW! Expands the treatment of parsing from one section to one chapter (Ch. 3). *NEW! Includes additional treatment of scripting languages. *NEW! Offers updated coverage of Java 1.3 throughout. *NEW!Added information on scripting languages.;*Illustrates various language constructs and design alternatives through Java, JavaScript, C++, C, Ada, Fortran, Perl and others. 1. Preliminaries. 2. Evolution of the Major Programming Languages. 3. Describing Syntax and Semantics. 4. Lexical and Syntax Analysis. 5. Names, Bindings, Type Checking, and Scopes. 6. Data Types. 7. Expressions and Assignment Statements. 8. Statement-Level Control Structures. 9. Subprograms. 10. Implementing Subprograms. 11. Abstract Data Types. 12. Support for Object-Oriented Programming. 13. Concurrency. 14. Exception Handling. 15. Functional Programming Languages. 16. Logic Programming Languages. --Concept of Programming

This is one of best books of Programming Languages I know. I use it as basic bibliography to teach Programming Languages in a College in Brazil. This book must be compared with the books of Terrence Pratt, Guezzi and Watt among others. This book do not intend to be a book to teach any language like C or Java. This books is a book to explain issues about the design of languages. (Sorry for my english mistakes) --Concept of Programming --This text refers to an alternate Hardcover edition.


Product Description

Concepts of Programming Languages describes the fundamental concepts of programming languages by presenting design issues, examining design choices, and critically comparing design alternatives without being language specific. This is an ideal text for students taking a comparative programming languages course because it allows those with the ability to program to learn how to choose appropriate languages for certain tasks, increase their abilities to learn new languages, and understand the significance of implementation.

Product Details

  • Hardcover: 704 pages
  • Publisher: Addison Wesley; 6 edition (July 24, 2003)
  • Language: English
  • ISBN-10: 0321193628
  • ISBN-13: 978-0321193629
  • Product Dimensions: 9.6 x 7.3 x 1.2 inches
  • Shipping Weight: 2.7 pounds
  • Average Customer Review: 3.1 out of 5 stars  See all reviews (32 customer reviews)
  • Amazon.com Sales Rank: #904,523 in Books (See Bestsellers in Books)

More About the Author

Robert W. Sebesta
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Robert W. Sebesta Page

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

32 Reviews
5 star:
 (8)
4 star:
 (7)
3 star:
 (5)
2 star:
 (5)
1 star:
 (7)
 
 
 
 
 
Average Customer Review
3.1 out of 5 stars (32 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
23 of 26 people found the following review helpful:
2.0 out of 5 stars Semi-useful survey of programming languages, May 4, 2004
By A Customer
This book will not make you understand the basic ideas behind programming languages, and you won't be able to shy away from math as Sebesta's book does. For that, you will need other books.
This book, however is useful inasmuch as it provides a survey of some programming languages. However, it is heavily biased towards imperative programming languages. Even here the balance is wrong, with a lot of Ada and Pascal. IIRC, he forgets to mention Forth, which is old, but a totally different way to program than the other languages.
On the other hand, anything he has to say about any other type of paradigm will be, probably, wrong. For instance, his description of Lisp remains in the 1950s ("interpreted, everything is a list"). He entirely ignores the Common Lisp Object System, which is by far much more advanced that your staple "OOP" language. The Smalltalk environment he shows is Smalltalk-80. Meaning: the environment used *then*. His description of Functional languages is a joke. So one gets the feeling he doesn't know what he is talking about. And he doesn't.
He missed a lot of development that went on in programming language research and their implementation.
He can't get right new developments in programming except things that are mainstream. In the new edition, he approaches Java, as if garbage collection, object orientation and bytecodes were something new (Smalltalk, Common Lisp almost 20 decades ago). If he's missed all that, let's not even begin to talk about the very new breed, like fast-compiling functional languages (Clean, OCaml), languages that allow reflection and metaprogramming (e.g., Maude), languages built for distributed programming (Oz, Erlang), etc.
If you buy this book, it should be only for the value of having a rather general, limited, historical overview of some programming languages. If you really want to learn about the ideas behind a programming language, you should read Structure and Interpretation of Computer Programs (the classic, now updated), and Concepts, Techniques, and Models of Computer Programming (the "new" classic).
Comment Comment (1) | Permalink | Was this review helpful to you? Yes No (Report this)



 
11 of 12 people found the following review helpful:
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.
Comment Comment (1) | Permalink | Was this review helpful to you? Yes No (Report this)



 
29 of 36 people found the following review helpful:
5.0 out of 5 stars Great for students, essential for professionals, January 13, 2004
By ART SEDIGHI (Old Bethpage, NY United States) - See all my reviews
Concepts of Programming Languages by Robert W. Sebesta, Sixth edition is truly a well-written book. Perhaps one of the best books written on this topic. Sebesta has done an exceptional job conveying the topic to the reader, making a complex topic both easy to read and understand. This textbook is good for any college student or professional trying to get a feel of how the most popular programming languages have evolved in the past 4 decades, and what sets these languages apart. Topics in this book range from Zuse's Plankalkul (the first programming language) to how Exception Handling is done in Java and Logic Programming and everything in between. Interviews with some of the pioneers of our time such as James Gosling (the creator of Java) and Bjarne Stroustrup (the designer of C++), and side "History Notes" represent some of the "fun" readings the author has added to this book. Each chapter ends with a brief but concise summary followed by problem sets that assess the important topics covered in the chapter.

Even though this book is targeted for a junior-level programming course, some of the topics are well worth the reading for an advanced programmer or a graduate student. The author starts by giving the reasons behind why such topic needs to be studied:

· To increase capacity to express ideas - the depth at which we can program, just like the way we think, is highly influenced by the expressive power of the language in which we communicate our thoughts.
· Improved background for choosing appropriate language - if you know more about programming languages, you have a better idea what to choose when development time comes.
· Increased Ability to learn new languages - continuous learning in the field of software engineering is very much essential. If one knows the concepts of one programming language, applying those concepts to other language to learn or understand become much simpler and easier.
· Better understanding of the significance of implementation - Someone who knows the implementation details of that language can only fix some programming bugs.
· Overall advancement of computing - For better decisions to be made going forward with computing and software development, one needs to learn from some of the mistakes that gotten us where we are. Things to do or not to do in this relatively new science.
The author starts by giving a very descriptive background on programming languages, starting from Zuse's Plankalkul, the first programming language. Zuse's defined the Plankalkul and wrote many algorithms in the language for a variety of problems. Even thought it was never implemented, Plankalkul paved the way for other programming languages that would follow it. Fortran, LISP, ALGOL 60, COBOL, BASIC and other high-level programming languages would follow over the years and evolve. The author gives the history behind each language, and goes in to a detail description of how each language evolved over the years. Even though chapter 2 gives the background behind most programming languages, the book only covers the most popular and widely used programming languages thereafter, mainly Fortran, C/C++, Ada and Java.

If your goal is not to teach or learn the details of compilers and/or compiler design, chapter 3 and 4 are defiantly for you. There are many books written on compilers, but Sebesta in one chapter covers the main topics of syntax and semantics and in another covers lexical and syntax analysis. Lexical analysis talks about small-scale language constructs, such as names and numeric literals. Syntax analysis deals with the large-scale constructs, such as expressions, statements, and program units. In less than a hundred pages of text, the author explains the background, theory and implementation of syntax and lexical representation and analysis. It wets the reader's appetite enough that if the reader is interested, he or she can follow the course by taking a compiler design course or read the popular Compilers book by A. V. Aho for example.

The author proceeds to talk about naming, binding, type checking and scopes. Various constructs from different programming languages make up this section, with an emphasis on storage binding and variable lifetime. Various storage types (such as static, stack-dynamic variables and heap-dynamic variables) and their corresponding lifetimes along with their implementation in each language are also covered.

The author then goes into the "newer" topics such as Abstract Data Types (ADT's), Object Oriented Programming, Concurrency and Exception Handling. The author firsts discussed the concept of ADT's and conveys to the reader the benefits of abstraction and encapsulation thru examples programs in Ada, C++, Java and C#. The author in its closing remarks adds:

"The two primary features of abstract data types are the packaging of data objects with their associated operations and information hiding."

ADT sets up the stage for what the author talks about next: Object-Oriented Programming. As with the other chapters, the author starts off by touching on the design issues for Object-Oriented languages. The author then goes off and says:

"In this purest model of object-oriented computation, all types are classes. There is no distinction between predefined and user-defines classes"

The important topics of various object-oriented languages such as inheritance, multiple inheritance, type checking and polymorphism, allocation and deallocation of objects, dynamic and static binding are covered and their corresponding implementations are discussed in detail for each object-oriented language such as in C++.

Robert W. Sebesta has done an exceptional job depicting the topic of programming languages. The background, the history, the design issues behind each decision, the implementation of each language, the evaluation of features between the popular languages, the problem sets at the end of the chapter and last but not least, the interviews with pioneers in the computer science world, make Concepts of Programming Languages, sixth edition a great book.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars good service, good book
This book is useful to understand the basic of programming language and it is also a common textbook for most of university.
And the international delivery is so fast. Read more
Published 1 month ago by Jianwei Yang

3.0 out of 5 stars Excellent service
I bought the book for class. I am still reading it. Although some times it seems to drag on, it is excellent for learning about the basics of programming languages. Read more
Published 7 months ago by Yared Negussie

2.0 out of 5 stars OMFG
I'm currently a CS student and was assigned this book as apart of my Organizational Programming Language class. All I can say is WOW. Read more
Published 9 months ago by J. Gaskell

5.0 out of 5 stars Solid Overview
I bought this for a programming languages concepts class and this book definitely has some very solid principles and concepts that everyone should know about programming... Read more
Published 11 months ago by B. Hilgemann

1.0 out of 5 stars 8th Edition? Get Real! It's Still Garbage!
The fact that this dreadful, outdated, poorly written textbook is in it's 8th edition is proof of the graft and corruption in the text book industry. Read more
Published 13 months ago by A Student

3.0 out of 5 stars Intro to programming languages
This book is decent for what it is, and that is an introductory programming languages textbook. The background material on what makes languages different and how those types of... Read more
Published 17 months ago by Michael P. Quinn

1.0 out of 5 stars Worthless
I have just finished my Programming Languages class that used the 8th edition of the book. My school is online so what is in the book is all I had to work with. Read more
Published 18 months ago by J. Thomas

1.0 out of 5 stars Not useful
This book is very large and covers lots of features of programming languages, giving real examples. However, after using it for a long time (I used a few different editions) I... Read more
Published 21 months ago by W. Ghost

1.0 out of 5 stars Sebesta's Programming concepts book
Truly a terrible book. I have no doubt that Robert Sebesta is an intelligent man but a talented writer he is not. Read more
Published on November 3, 2007 by Tuong An Ngo

4.0 out of 5 stars A good book on the design of programming languages
This is not a survey of popular programming languages. Instead, it is a book on the design of programming languages. Read more
Published on March 7, 2007 by calvinnme

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   



So You'd Like to...


Create a guide

Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.



Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.