Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Concepts of Programming Languages, Sixth Edition

Concepts of Programming Languages, Sixth Edition

List Price: $112.40
Your Price: $106.78
Product Info Reviews

<< 1 2 >>

Rating: 5 stars
Summary: The best programming language book
Review: and one of the best computer science books in general. It is very well written and organized, and doesn't get bogged down in minor details and extra information. It gets straight to the point, unlike another programming language book by Ravhi Sethi. The Ravi Sethi book probably has more information, but it's EXTREMELY poorly written/organized and bogged down with useless extra information (I think he just did that to seem smarter than he really is). I learned 5 times as much reading this book, while spending 1/5 of the time reading it (as compared with Sethi's book).

TO ALL COLLEGE PROFESSORS: PLEASE CHOOSE THIS BOOK IN YOUR PROGRAMMING LANGUAGE CLASS, NOT RAVI SETHI'S. PLEASE!!!

Rating: 5 stars
Summary: The best programming language book
Review: and one of the best computer science books in general. It is very well written and organized, and doesn't get bogged down in minor details and extra information. It gets straight to the point, unlike another programming language book by Ravhi Sethi. The Ravi Sethi book probably has more information, but it's EXTREMELY poorly written/organized and bogged down with useless extra information (I think he just did that to seem smarter than he really is). I learned 5 times as much reading this book, while spending 1/5 of the time reading it (as compared with Sethi's book).

TO ALL COLLEGE PROFESSORS: PLEASE CHOOSE THIS BOOK IN YOUR PROGRAMMING LANGUAGE CLASS, NOT RAVI SETHI'S. PLEASE!!!

Rating: 5 stars
Summary: Great for students, essential for professionals
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. 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.

Rating: 5 stars
Summary: Great for students, essential for professionals
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. 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.

Rating: 1 stars
Summary: Fire the editor!
Review: I agree with most of the other reviews (good and bad), but I think it really needs to be mentioned that this book is just *full* of typos and bugs. I've never read a computer book or a so-called textbook with so many mistakes. I would recommend against using this book for teaching until they come out with a new edition that is proofread a little better.

Rating: 2 stars
Summary: Moderately useful....
Review: I am using this book for a programming languages course and find it only slightly useful. It places rather too much emphasis on high-level explanations and history of programming languages, and may be of limited use to people who want to get a deeper understanding of the mechanics of designing a language/compiler. The book is clearly sectioned but each section seems to ramble on without a clear focus of where the discussion will lead. Some exercises, especially the ones on evolution of programming languages, seem contrived. There is also a conspicuous absence of regular expressions/automata which is also important to understanding programming languages

Rating: 5 stars
Summary: Puts the many programming languages into perspective
Review: I have studied many different programming languages with their different features and approaches, but reading this book helped to give me a much better perspective on why different languages do things the way they do. It does a great job of examining the advantages and disadvantages of the different approaches various languages take.

The author has an incredible amount of knowledge of many different languages which enables him to offer a unique perspective on the subject. The book has a good balance between showing how things are done in newer languages like Java and C++ as well as older languages like Fortran and PL1. Not only does the author tell you what is different, he explains the reasons for the differences.

I would say that sometimes the coverage may be too detailed for the average reader. For example, many pages are spent describing loops, but this is something that is very similar in all languages so it should have been covered only very briefly.

I particularly enjoyed the the chapter on the history of programming languages, which explained the origin of all major languages (and several minor ones) including why they were invented and what impact they have had on computer science.

Rating: 2 stars
Summary: Not an introductory text
Review: I used this book for a introductory course to graduate students that had no programming experience. This book was not set up for introductory students. You really need to have expericence with programming languages, especially C and Pascal to make heads or tails of this book.
I didn't like the layout...spending the first part of the book telling you what it is going to talk about, and then spending the second part retelling you. In some cases, in exactly the same words....the organization needs some work and the index and glossary were not thorough enough to be of help. I ended up buying two other books on programming languages to help explain this one to me so I could finish the course.
The review questions did nothing to prepare you for the problem sets at the end of each chapter and the problem sets didn't really have examples in the text that you could refer back to. Like I said, it seemed that the book expected you to know more than introductory level.

Rating: 4 stars
Summary: wonderful!
Review: I used this in school for my PLs class and it was great. The breadth in the content is excellent and the historical points that are made provide a context to understand why exactly certain languages have evolved the way they have today. Great reference even today at my job.

Rating: 4 stars
Summary: It's readable!!
Review: I'm a student who studying a computer education in korea. I'm not good at English... But this book was very easy and readable. Statement clearly written. So easy to understand!! It gives me to have a wide scope about the programming language. It was interesting. This book is somethig like a novel. But It is insufficient for current used popular language somethig like java, php...etc


<< 1 2 >>

© 2004, ReviewFocus or its affiliates