Möchten Sie verkaufen? Hier verkaufen
Concepts of Programming Languages
 
 
Den Verlag informieren!
Ich möchte dieses Buch auf dem Kindle lesen.

Sie haben keinen Kindle? Hier kaufen oder eine gratis Kindle Lese-App herunterladen.

Concepts of Programming Languages [Englisch] [Gebundene Ausgabe]

Robert W. Sebesta
4.0 von 5 Sternen  Alle Rezensionen anzeigen (2 Kundenrezensionen)

Erhältlich bei diesen Anbietern.


Weitere Ausgaben

Amazon-Preis Neu ab Gebraucht ab
Gebundene Ausgabe EUR 48,99  
Gebundene Ausgabe, 30. September 1998 --  
Taschenbuch EUR 58,99  

Produktinformation

  • Gebundene Ausgabe: 670 Seiten
  • Verlag: Addison-Wesley Longman, Amsterdam; Auflage: 4th (30. September 1998)
  • Sprache: Englisch
  • ISBN-10: 0201385961
  • ISBN-13: 978-0201385960
  • Größe und/oder Gewicht: 23,9 x 19,3 x 3,3 cm
  • Durchschnittliche Kundenbewertung: 4.0 von 5 Sternen  Alle Rezensionen anzeigen (2 Kundenrezensionen)
  • Amazon Bestseller-Rang: Nr. 593.048 in Englische Bücher (Siehe Top 100 in Englische Bücher)
  • Komplettes Inhaltsverzeichnis ansehen

Mehr über den Autor

Robert W. Sebesta
Entdecken Sie Bücher, lesen Sie über Autoren und mehr

Besuchen Sie die Seite von Robert W. Sebesta auf Amazon

Produktbeschreibungen

Kurzbeschreibung

This best-selling book, now in its fourth edition, provides a wide-ranging and in-depth discussion of programming language concepts. As in previous editions, author Bob 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 book covers the most widely used methods of syntax description and introduces the most common approaches to describing the semantics of programming languages. Discussions of implementation methods and issues are integrated throughout the book. New to the Fourth Edition *Offers coverage of JavaaA A support for object-oriented programming, concurrency, and exception shandling *Features object-oriented programming more prominently - the expanded OO coverage appears earlier in the book and is also intertwined with the discussions of the non-OO imperative languages *Provides expanded material on semantics, including a proof of correctness of a complete program using axiomatic semantics 0201385961B04062001

Synopsis

This best-selling book, now in its fourth edition, provides a wide-ranging and in-depth discussion of programming language concepts. As in previous editions, author Bob 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 book covers the most widely used methods of syntax description and introduces the most common approaches to describing the semantics of programming languages. Discussions of implementation methods and issues are integrated throughout the book. New to the Fourth Edition *Offers coverage of JavaaA A support for object-oriented programming, concurrency, and exception shandling *Features object-oriented programming more prominently - the expanded OO coverage appears earlier in the book and is also intertwined with the discussions of the non-OO imperative languages *Provides expanded material on semantics, including a proof of correctness of a complete program using axiomatic semantics 0201385961B04062001

Tags

 (Was ist das?)
Bei einem Tag handelt es sich um ein Schlagwort, das zum Produkt passt.
Tags erleichtern allen Kunden die Suche und die Sortierung ihrer Lieblingsprodukte.
 

Eine digitale Version dieses Buchs im Kindle-Shop verkaufen

Wenn Sie ein Verleger oder Autor sind und die digitalen Rechte an einem Buch haben, können Sie die digitale Version des Buchs in unserem Kindle-Shop verkaufen. Weitere Informationen

Kundenrezensionen

4 Sterne
0
2 Sterne
0
1 Sterne
0
Die hilfreichsten Kundenrezensionen
1 von 1 Kunden fanden die folgende Rezension hilfreich
Not bad, but not great. 25. Januar 2000
Format:Gebundene Ausgabe
The book was decent. We used it for an intermediate CS class on programming language concepts, and it did the job ok. I thought there was too much emphasis on the history of CS, and not enough on the actual concepts. Thankfully, I had an awesome professor and the class turned out great. Some weak points: lots of people seemed to have trouble with attribute grammars, the book's explanation was not good enough. And there were a few remarks about Java which were completely erroneous.
War diese Rezension für Sie hilfreich?
Format:Gebundene Ausgabe
I bought this book because it is the basis of a course with the same name as the book at my university and I love it! Robert Sebesta explains the concepts of programming languages very clearly. What I also like about it is that he shows how the concepts are implemented in several languages and highlights important differences. He also chooses popular languages for demonstration, so you not only get an overview over programming language features and concepts, but also an idea of how those concepts are implemented (if they are) in some of the most popular languages like C++, Java, FORTRAN or Ada. Of course this does in no way substitute for reading a book specifically about those languages, but it does give a good impression of how the concepts are applied in widespread languages, which is very nice.

I'd recommend this book to anyone with basic programming experience who is looking for knowledge about the concepts used in programming languages. With an understanding of these concepts it should be much easier to read and understand books about specific languages.

I can't comment on if the material in this edition is outdated or not, but as this edition was listed in the literature for the course I think if there are errors in there they are most likely minor and do not diminish the value of the book. If you can then get a hold of the most recent edition, but for an overview this one should be ok as well if money is an issue.
War diese Rezension für Sie hilfreich?
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
Amazon.com:  35 Rezensionen
43 von 48 Kunden fanden die folgende Rezension hilfreich
Semi-useful survey of programming languages 5. Mai 2004
Von Ein Kunde - Veröffentlicht auf Amazon.com
Format:Gebundene Ausgabe
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).
18 von 19 Kunden fanden die folgende Rezension hilfreich
Not useful 3. März 2008
Von W. Ghost - Veröffentlicht auf Amazon.com
Format:Gebundene Ausgabe
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 still feel that it's not really useful.

Sebesta does not get into the theoretical part of programming language design, so the book does not help you with designing new languages. His comments on language features are also not very interesting.

He does not teach you how to write an interpreter or compiler, so the book is not a language implementation one.

And finally, the book can't be used to properly compare languages: not from a theoretical point of view, because he only briefly mentions syntax and dynamic semantics, without actually getting into real stuff (lambda calculus, types, denotational/operational semantics etc); and also not from a practical point of view because to compare languages in practice *you need to write programs in them*, and not just read a catalog of features and code snippets. Really, I don't think anyone would understand Scheme continuations, Common Lisp macros, Smalltalk programming environments, or Haskell Monads *and Monad transformers* without using them for real (or at least read real-world examples of how language features are used). I mean really understanding, and knowing *why* they were designed the way they were.

So, the book is useless. Seems like an attempt to compare languages, but done the wrong way.

By the way, the examples are not well chosen.

Instead of buying this book, I would:

- Buy one or more books on language implementation, if I wanted to implement a language, and actually write at least one compiler and one interpreter. Queinnec's Lisp in Small Pieces, Appel's Compiling with Continuations and Compiler books like those by Copper/Torczon, Appel or Louden.
For garbage collection there is a nice book by Lins and Jones (although a bit dated). Simon Peyton Jones also has a fine book on functional language implementation that could also be very useful.

- If I wanted to compare languages, I'd learn three or four different paradigms. *In practice*. Very different languages. For example, Prolog, Ruby, Haskell and Erlang. Maybe Scheme or Common Lisp also. And you only "understand" a language if you develop real, non-trivial projects in it, so I would actually create tools in those languages. Of course, a good programmer needs to know a minimum of how the interpreted or compiled code will work, so it's good to know about garbage collection, stack, heap, how threads are implemented in my interpreter, etc. (And Robert Sebesta's book will only give me *some* help here).

- If I wanted to create a language (or to compare languages from a theoretical point of view), I would do both things mentioned before, since I wouldn't feel comfortable creating a language without ever having used different paradigms, and then I would need to implement my language. I would have to read articles and books on language design, type theory, computability/lambda-calculus/term rewriting, formal semantics etc. The book by Turbak/Gifford on language design, Peirce's book on Types, seem like a *very* good start, for example. They are all more focused and in my opinion more useful than the grab-bag-of-language-features that I see in Sebesta's book.
17 von 19 Kunden fanden die folgende Rezension hilfreich
Focuses Almost Exclusively on Imperative Languages 25. April 2008
Von David A. Lessnau - Veröffentlicht auf Amazon.com
Format:Gebundene Ausgabe
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.
Kundenrezensionen suchen
Nur in den Rezensionen zu diesem Produkt suchen

Kunden diskutieren

Das Forum zu diesem Produkt
Diskussion Antworten Jüngster Beitrag
Noch keine Diskussionen

Fragen stellen, Meinungen austauschen, Einblicke gewinnen
Neue Diskussion starten
Thema:
Erster Beitrag:
Eingabe des Log-ins
 


Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
Alle Amazon-Diskussionen durchsuchen
   
Ähnliche Foren


Lieblingslisten


Ähnliche Artikel finden


Anhand des Sachgebietes nach ähnlichen Produkten suchen:


Ihr Kommentar