Realm of Racket: Learn to Program, One Game at a Time! und über 1,5 Millionen weitere Bücher verfügbar für Amazon Kindle. Erfahren Sie mehr
EUR 24,95
  • Alle Preisangaben inkl. MwSt.
Nur noch 3 auf Lager (mehr ist unterwegs).
Verkauf und Versand durch Amazon.
Geschenkverpackung verfügbar.
Menge:1
Realm of Racket ist in Ihrem Einkaufwagen hinzugefügt worden
Ihren Artikel jetzt
eintauschen und
EUR 9,60 Gutschein erhalten.
Möchten Sie verkaufen?
Zur Rückseite klappen Zur Vorderseite klappen
Anhören Wird wiedergegeben... Angehalten   Sie hören eine Probe der Audible-Audioausgabe.
Weitere Informationen
Alle 2 Bilder anzeigen

Realm of Racket (Englisch) Taschenbuch – 30. Juni 2013


Alle 2 Formate und Ausgaben anzeigen Andere Formate und Ausgaben ausblenden
Amazon-Preis Neu ab Gebraucht ab
Kindle Edition
"Bitte wiederholen"
Taschenbuch
"Bitte wiederholen"
EUR 24,95
EUR 24,95 EUR 31,36
65 neu ab EUR 24,95 4 gebraucht ab EUR 31,36
EUR 24,95 Kostenlose Lieferung. Nur noch 3 auf Lager (mehr ist unterwegs). Verkauf und Versand durch Amazon. Geschenkverpackung verfügbar.

Hinweise und Aktionen

  • Reduzierte Bestseller und Neuheiten: Entdecken Sie unsere vielseitige Auswahl an reduzierten Hörbüchern und englischen Büchern. Klicken Sie hier, um direkt zur Aktion zu gelangen.


Wird oft zusammen gekauft

Realm of Racket + How to Design Programs: An Introduction to Programming and Computing
Preis für beide: EUR 108,58

Die ausgewählten Artikel zusammen kaufen
Jeder kann Kindle Bücher lesen — selbst ohne ein Kindle-Gerät — mit der KOSTENFREIEN Kindle App für Smartphones, Tablets und Computer.


Produktinformation

  • Taschenbuch: 310 Seiten
  • Verlag: No Starch Press; Auflage: 1 (30. Juni 2013)
  • Sprache: Englisch
  • ISBN-10: 1593274912
  • ISBN-13: 978-1593274917
  • Größe und/oder Gewicht: 17,8 x 2,2 x 23,5 cm
  • Durchschnittliche Kundenbewertung: 3.0 von 5 Sternen  Alle Rezensionen anzeigen (1 Kundenrezension)
  • Amazon Bestseller-Rang: Nr. 37.646 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
  • Komplettes Inhaltsverzeichnis ansehen

Mehr über den Autor

Entdecken Sie Bücher, lesen Sie über Autoren und mehr

Produktbeschreibungen

Über den Autor und weitere Mitwirkende

Professor Matthias Felleisen is one of the original authors of the Racket language and a co-author of The Little Schemer and How to Design Programs. In 1995, Felleisen launched the TeachScheme! Project, reaching out to high schools with a radically novel computing curriculum. Felleisen is the 2012 recipient of the ACM Special Interest Group on Programming Languages (SIGPLAN) Lifetime Achievement Award as well as ACM's 2009 Karl V. Karlstrom Outstanding Educator Award. He is currently a Trustee Professor in the College of Computer and Information Science at Northeastern University in Boston, Massachusetts. Conrad Barski has an M.D. from the University of Miami and nearly 20 years of programming experience. The author of Land of Lisp, Barski is also an avid cartoonist, having created the popular alien Lisp mascot and many graphical tutorials. David Van Horn is a research professor at Northeastern University who has programmed in Racket and Scheme for over a decade.

Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?


In diesem Buch (Mehr dazu)
Ausgewählte Seiten ansehen
Buchdeckel | Copyright | Inhaltsverzeichnis | Auszug | Stichwortverzeichnis | Rückseite
Hier reinlesen und suchen:

Kundenrezensionen

3.0 von 5 Sternen
5 Sterne
0
4 Sterne
0
3 Sterne
1
2 Sterne
0
1 Sterne
0
Siehe die Kundenrezension
Sagen Sie Ihre Meinung zu diesem Artikel

Die hilfreichsten Kundenrezensionen

0 von 1 Kunden fanden die folgende Rezension hilfreich Von ClausVonDerKueste am 21. Juni 2014
Format: Taschenbuch Verifizierter Kauf
I was looking for a compact documentation of the Racket language and IDE to understand some code snippets in the dissertation of Neil Toronto about "Trustworthy, Useful Languages for Probabilistic Modeling and Inference". Racket is an extension of Scheme which is an extension of Lisp - the language of symbolic AI -. RoR is the only reference to Racket in book form. Unfortunately it is not addressed to academics but to newbees in programming. Similar in style to Conrad Barski's "Land of Lisp" it is devoted to "Learn to Program, One Game at a Time!" (this is the subtitle). Concepts range from simple functional programming to higher functions with nested lambdas, lazy evaluation, memoization, to imperative programming with states and guis. I would be glad if I had such an introduction nearly forty years ago. At that time I had to learn imperative Algol for solving dull numerical problems.
Learning Racket makes it necessary to switch to a different language when doing some serious programming afterwards. Clojure is a natural follow up language. Scala is not bad too. Martin Odersky feels himself in the tradition of Abelson & Sussmans seminal book "Structure and Interpretation of Computer Programs". So beware, when learning Racket you later have to move on to a second production language. What's the rating? 5 stars for the didactic concept, minus 2 stars for the verbose sophomore-orientated style and the missing references.
Kommentar War diese Rezension für Sie hilfreich? Ja Nein Feedback senden...
Vielen Dank für Ihr Feedback. Wenn diese Rezension unangemessen ist, informieren Sie uns bitte darüber.
Wir konnten Ihre Stimmabgabe leider nicht speichern. Bitte erneut versuchen

Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)

Amazon.com: 14 Rezensionen
21 von 24 Kunden fanden die folgende Rezension hilfreich
Abelson Decoded-- Finally! 13. Juli 2013
Von Let's Compare Options Preptorial - Veröffentlicht auf Amazon.com
Format: Taschenbuch Verifizierter Kauf
The inverted review bell curve on Abelson's seminal book on Lisp and functional programming (Structure and Interpretation of Computer Programs, Second Edition) shows either love or hate, and little in between! Those who love it say it is a life changing experience for mathematicians, engineers and physicists as well as programmers, and indeed Abelson does border on the mystical when describing nested recursive functions with "hundreds" of parentheticals preceding quantum-level differential equations, all running on numerics, beneath which are (self defining recursive quantum states) and....

The problem, especially with those who hate it, is that lambda calculus, recursion, and multiple paradigm (imperative, functional, logical, etc.) models mean that each sentence is an adventure in study, not reading. IOW, I stopped highlighting when I realized I was highlighting the whole page!

This awesome new Racket gem makes Abelson an unprecedented one-two punch if you REALLY want to understand some of the hottest new concepts in programming-- at a 30,000 foot level, yet with a TON of fun, down to earth exercises. Lisp has evolved as the second oldest (months after FORTRAN) language that is not only still in use, but still producing new dialects, as this book demonstrates! I mean, a data structure not of hashes and trees but of LISTS??? You'll learn to your amazement how lists can even handle multiprocessor and concurrent computing nightmares with recursion that would defy the most agile trees. Talk about ancient and up to date at the same time!

The coolest thing about Racket, and even Scheme and Common Lisp, is that you can create your own "complete" programming environment, in this case to play with art and games, including compilers and interpreters! C# started with some multi paradigm elements and is now even adding functional programming, but being part of the .net family, there are limits. Yes, you can design a GUI AND a game in C#, but Racket allows you to create an entire programming universe from o/s to environment, SDK, compiler, GUI, language, libraries... all virtually!

If you look at a typical coding interview, you'll have the "solve this phony, contrived problem" on the whiteboard. Yet four of the hottest career areas in IT AREN'T in specific language coding (so much of it is being outsourced to India, China and Russia)-- they are in management of: 1. Data Science 2. Embedded Systems 3. Networking 4. Sploits.

There even is a new "CTO" type job-- CDSO, for "Chief Data Science Officer." These management, team leadership and high level positions don't require you to create a list prioritization algorithm on the whiteboard in C# in half an hour, but they DO require you to understand how systems from the machine and network levels relate to solutions in choice of languages, software and --especially-- paradigms.

In talking with programmers and engineers all day who submit new software for patents, I'm astonished at how many got all the way through even grad school (including Stanford and MIT) without taking a single paradigm class! They can generally tell you which apps work better with trees vs. arrays, but at a high level, why to choose functional vs. imperative is often really foggy.

Solution: PLAY WITH RACKET, then read Abelson! Even if you're an autodidact, this awesome and up to date Lisp text is perfect for self study when carving out your own dream job or starting your own practice. The authors are teachers par excellance, and the pedagogy is beyond painless-- you're half way through recursion vs. iteration before even knowing you've learned it! And while you're at it, you are playing with components and paradigms in ways you've never tried before even if you're a Lisp jock-- because this text takes the time to INCLUDE imperative and logical options. This is possible because Racket moves a little toward OOP just as C# (3.0 and up) has moved a little toward functional, including many steps beyond Scheme.

For those who feel Lisp is out of date or a "has been" (never mind that Lisp invented garbage collection and even presaged early oop (data/object/call/argument units) and that binaries and other newer data structures are coming back around to lists in some of the hottest research, even IN imperative), I guarantee that this book will dispel your doubts! And, if you tried Abelson, loved it, but was missing half the points (I sure was), try Racket first--Abelson won't become easy, but it will, as Abelson said himself as his primary objective, make it a LOT more fun.

Be SURE to get the second edition of Abelson, however, as he completely reoriented it around a new central theme crucial today to multiprocessing-- the time/memory challenge. You can get Ableson 2ed (see link in first paragraph) used at a great price now. I give it as a gift to programmer friends, and this new Racket text would make a great gift too! This author also wrote the awesome Little Schemer book (The Little Schemer - 4th Edition) which is another excellent adjunct to Abelson.

EMAIL ANSWER: A new lisper asked if this book will help with things like closure. Absolutely! In fact, lexical (or functional) closure, when combined with environments, binding and defun/define macros ARE oop at a very basic level, except that they REQUIRE garbage collection. Let Over Lambda (LoL) is "the" closure book, but Racket gives many more practical tips and uses than that "heavy" text (no comparison really, this book is pure enjoyment, LoL requires two double shot starbuck ventis per sentence-- NOT for beginners). Q. How can other languages implement closure? A. Technically C can't due to no garbage collection (hence no fast and unlimited stack vs. heap options, especially since it and C++ are stack based), but C# and many others can.

Although anonymous methods ARE NOT closure, they offer "closure analogs" like callbacks and blocks (in C and C++ for you circuit folks), Local classes in Java, Delegates, and after 3.0, even lambda expressions in C# (do NOT use closure if a lamda will work more simply), overloading operators, etc. Scheme/Racket/Lisp/Clojure... jocks will argue that the differences between oop and functional are semantic, because 1 macro can take care of inheritance, and object orientation is another word for a LISP list function combining procedure and state, and with closure, can easily duplicate the entire oop benefit. Macros are essentially functions that return lists as this book will teach us, but since those lists can just as easily contain code as data, as well as environments and bindings, the "oop" concept was either anticipated, subsumed, or invented by Lisp decades ago, depending on your point of view!

The whole point of learning Racket, at a deep level of understanding paradigm fits in addition to the fun apps in this book, is about time and memory and really "getting" high level (but deep and detailed) program and systems engineering, in many more aspects than most programmers encounter. Stack vs. heap based eventually becomes a sticky wicket for all programmers and engineers, especially with today's concurrency challenges. Look at Erlang-- it dances so easily between functional and imperative because it uses BOTH stack and heap! Besides, lists are way more intuitive and fun ds's (in my biased and elderly opinion) than trees, hash tables, binaries, etc.-- even ON the whiteboard!

Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
23 von 27 Kunden fanden die folgende Rezension hilfreich
Excellent Tutorial On A Modern Multi-paradigm Language Based on LISP 2. Juli 2013
Von Ira Laefsky - Veröffentlicht auf Amazon.com
Format: Taschenbuch
This is an excellent (and fun) tutorial on a modern multi-paradigm programming language based upon LISP. In reviewing a book on a unusual programming language, I should begin by discussing the language and its applications. Racket is a powerful and modern open-sourced language based on the 50 year old lambda calculus paradigm of LISP. It is a direct descendant of Scheme and especially useful in Computer Science instruction and in defining domain specific languages. Like other LISP's it is a functional language with object-oriented extensions. It is also widely used because of its flexibility in defining dialects as language for teaching programming language theory. It also has all of the important features of most modern programming languages for performing serious work in a number of domains--being open source, compiled to a virtual machine, hosted in a number of the most popular environments (Windows, OS X, Linux), offering a powerful and yet instructional IDE--Dr. Racket, coming with batteries including libraries for web service, document development, process control, operating system interfaces, graphics and language development (lex and yacc style parsing and regular expressions). The byte code compiler and virtual machine are highly efficient, and in most cases assisted by a JIT compiler. On a moderately equipped I3 desktop machine I was able to execute an integer recursive factorial of 10000 in about 30 seconds. Unlike some modern languages it has limited facilities for embedded and physical computing but I have seen a demonstration of racket being compiled for the popular Raspberry Pi and used in the control of sequenced LED displays. The language is widely used in instruction at the High School and undergraduate levels and many of the contributors to this book are college freshman.

The book itself is fun and follows a careful easy to follow pedagogy. It begins with a description of the language's history and motivation, discusses the installation of the language and its environment and then proceeds to teach with a combination of well drawn comics and a succession of games (one per chapter) beginning with a simple guess the number and concluding with a distributed multi-computer game employing client server technologies. Each chapter begins with a review of what you have learned to data; it spends most of the chapter teaching and illustrating the techniques you will employ in this games development; a Chapter Checkpoint reviews the techniques and paradigms learned in the chapter; finally a small set of graduated Chapter Challenges with a rating of their difficulty appears at the conclusion of the chapter. The concluding chapter illustrates several additional things you can do with the language from compiling separate executables to composing specialized sub-languages and metaprogramming. The book comes with an accompanying web site, its examples are automatically loaded when you install the language according to simple instructions provided in the book. Much additional documentation is provided with Dr. Racket the IDE and more material including additional online books and videos are available on the internet.

I highly recommend this book for beginning programmers who want to learn in the best way from those who are sensitive to the needs of undergraduates and self-starters and others interested in the powerful multi-paradigm LISP family of languages.

--Ira Laefsky, MS Engineering CS/MBA Information Technology Consultant and Human Computer Interaction Researcher
formerly on the Senior Consulting Staff of Arthur D. Little, Inc. and Digital Equipment Corporation
11 von 12 Kunden fanden die folgende Rezension hilfreich
Great book for the programming beginner, or someone who wants to learn a new language 13. Juli 2013
Von Richard T. Kingslan - Veröffentlicht auf Amazon.com
Format: Taschenbuch
When I was younger (read: Decades ago), I became aware of this pretty cool programming language called Lisp. Lisp was cool because it read easily, it was generally pretty easy to program in and it was highly modifiable in such a way that even before the days of Object Oriented Programming was the `newt big thing', Lisp was already enabling that type of thinking.

The important thing to grasp about Lisp is that it's not just one product. In fact, it's not really a product at all, but it's a concept, and a family of programming languages that all happen to strive for the same goal: Allow for the easy expression of very, very complex ideas. Lisp has been used in such diverse worlds such as space exploration, physics, graphical concepts, game development and financial calculations.

But, what the heck is Racket? That's what the book is... Realm of Racket. Racket is a programming language in the family of languages that comprise the `body' of Lisp. There are multiple derivatives of Lisp, based on what you want Lisp to do. Racket just so happens to be one of those derivatives that lends itself nicely to teaching new and recently new `programming interested' people the concepts of programming is a less complex way.

Imagine tossing a high-school freshman into Advanced C++, when really this freshman wants is to make the football team and date the cheerleader. Our best guess: Not a good fit for a number of reasons. C is complex language for beginners, C++ is just that much more difficult, and Advanced C++... Well, picture our young high-school football player wannabe's head exploding.

Racket, (or Lisp), is tailor made for this young person. Much more conversational in its approach, most people will instantly grasp how it works, and what you might be able to do with it. Let's rephrase that just slightly: That YOU just might be able to do something YOU want to do....

Suddenly, our young wannabe football star is more interested in a computer and the kinda cute nerdy girl with the black horned rim glasses (who is a Goth Queen at night, but this is about Racket, not the weird dating rituals of teenagers...Ewww!). Yes, even programming languages can make a weird kind of matchmaker.
Realm of Racket takes a light-hearted but very informative and prescriptive approach to teaching the Racket language: It makes it fun. I know.....Programming languages aren't supposed to be fun. But, this book says differently. You can have fun AND learn! Who knew!

Obviously, the book starts somewhere. In fact all things do, but never mind. This book starts with, oddly enough, a discussion of Lisp, how Racket and Lisp are related, and then - installing Racket on your computer. Seems like standard fare. You are then taken through the basic syntax of Racket, writing your first program, defining functions, and then immediately on to syntax, semantics and logical building blocks.

The author's presentation is far from boring, in fact it's engaging and the illustrations are meant to add levity and fun to the learning process. Each chapter ends with a Checkpoint section intended to summarize what you've just learned and to help you determine if you're ready to move on to the next chapter. Again, standard fare, but it's effective.

Covering the Racket predicate model, the conditionals, and the `rackunit' test library, this is starting to look like a pretty powerful set of tools. This Racket thing might have something going for it. And then comes Define. What can you Define in Racket? Umm... The simple answer is pretty much anything. Plus, they can be at a module level, local level, and can have functions and variables.

Realm of Racket then takes a huge leap: Why write text-based games (they are SO `70s) when you can write graphical games just as easily? The concept of graphical programming - moving sprites and images, writing to the screen in graphics instead of text, etc. is covered fully.

Remember the first time you heard about recursion? Did you try it in, say C? You're still reading this so the black hole that can happen with a recursion function in C didn't happen to you. 1000's of amateur programmers have been lost to an untimely demise in small black holes crated due to the ill-devised recursive function. Realm of Racket walks you through the creation of a graphical snake game that will teach you how, in Racket' recursion is used. No black holes - I virtually guarantee it!

Realm of Racket next takes you into an important part of not just the Lisp family, but programming as a whole: Lambda. The ability to create nameless functions on the fly and in-line is hugely powerful. It enables the programmer to use a single line to define, apply the process, and retrieve a result instead of the usual Define, do the math , then apply the output to the variable for use.

As you progress, the game complexity and the game play increases. This is not to say that it becomes necessarily harder to program, but the game does become quite a bit more full featured. Fighting orcs has always been a compulsion for many a video (and role playing!) gamers...

The author provides the steps, the knowledge, and the fun to get to the end point of having a solid, fun foundation to work with. Realm of Racket takes you on a journey of understanding into a language that has been around for nearly 60 years, concepts in programming that have been around since the 1930's and brings it all together into a thoroughly enjoyable book. The `comic-style- narrative keeps your attention and advances the story from chapter to chapter and helps with relevance. Frankly, the story and the comic narrative is going to appeal to a younger audience more than it will to the older reader (like myself...) who is simply interested in learning a new programming language. But, it's effective... And, it's fun. Programming should be more fun and less tedious and sterile. This is fun stuff in this book, and never tired and sterile.

Oh, and if you really don't want to type out the examples and chapter exercises (I suggest you do... It reinforces learning), you can also download the code. The author does also provide the specific links and instructions for setting up Racket and the programming environment to begin with.

Good book, enjoyable, informative beginner's book to programming, and specifically to the Lisp style language, Racket. Well done book.
2 von 2 Kunden fanden die folgende Rezension hilfreich
The most complete programming tutorial 1. November 2013
Von Miax - Veröffentlicht auf Amazon.com
Format: Taschenbuch
Many people fail to learn programming and the problem lies not only on them, but also in that tutorials, and mostly, in the programming languages/libraries/frameworks itself in the educational perspective.(Sure, most programming languages are not designed for education.)

The biggest issue to learn programming is, at least for me, the huge difference between real world codes and the example toy codes in the tutorial books. Syntax/Semantics of that languages are already complex for beginners, and you should master most of them to progress next level. So, the example codes focus on to show the syntax and semantics. At this stage, you can hardly make an interesting program, because what you have learnt is just the language. At the next stage such as frameworks, you would get far more complex theories and knowledges all at once. It's because the languages and the libraries/frameworks are designed for professional use, not for education.(There are also many languages regarded as "easy", but that means "easy to use" for professional programmers, and not "easy to learn." for non-programmer.) Tutorials at this stage focus on to explain the complex structure of the framework and many detailed APIs. So, you cannot learn how to program at this stage either. After the long and tedious learning process, you can finally start to learn how to program. This learning method is simply wrong and makes programming looks unnecessarily harder than it actually is. Far better when they start with a simple but real world-related interesting task with enough simplified language and libraries, and gradually motivate to more interesting but challenging tasks with an appropriately extended language. If the reader is motivated with the program, they experiment themselves. This is what the learning process should be. But unfortunately, it would be a really hard work with ordinary programming languages, because the languages and libraries they offer are already fixed for professional programmers. Each API covers a very small specific task and is very detailed. It's like that you should learn axiomatic set theory first as a prerequisite, and then you can solve simple arithmetic equations with it.

But Racket is different and the reason is manifold. First, the author of this book is also the founder of the language Racket. He made a module for that educational purpose and it is included in the official Racket distribution. Second, the language Racket, as a descendent of Scheme, has a very small and simple set of rules. The size of the basic syntax/semantics of scheme is like that of C without pointer, and while C without pointer is a useless one, the basic level of scheme is powerful. So, the tutor and the reader can concentrate on program logic and the various programming concepts without language-specific hassle. Also, Racket offers a decent IDE, which is portable and includes nearly complete library collections, so that novice programmers don't need to struggle to search, download and install libraries to do something other than command-line I/O. It is the best educational environment hands down. With all that supports from language and IDE, the author could easily control the difficulty and pace, without sacrificing contents. Actually, this book, which is for absolute programming novices, has introduced basic GUI, network and AI programming through example game programs under 300 pages. It is really remarkable. It can be achieved only with the mutual cooperation of the tutorial, the programming environment and the language. I personally prefer the style of the original "land of lisp" to "realm of racket"(while realm of racket shows more interesting graphical game codes, the explanation is drier and the example code snippets are highly unordered.), but what the programming environment Dr. Racket offers is really a huge advantage.

In fact, though all the program in the book is written in Racket, what you learn from this book is not Racket. Racket/Scheme actually is a deep language, which could be hardly covered by an introductory programming book.(If you are an experienced programmer and want to learn just Racket, visit their website.), What you can learn from this book is the espresso version of the general programming experience. My first programming language was Java from my university, and I had to put far more time and effort to get the similar experience with less motivations. If I had such an experience before starting to learn Java, I would be far more motivated and could know what's important, where to focus, and ultimately, could learn more effectively. Many experienced programmers learn other programming languages easily in short period of time, because on the one hand, much of their experience is not language-specific and can be applied to other languages, and on the other hand, they know exactly what's important and what is not from their experience. Therefore, it makes far easier the learning process if you have some basic experience before starting to learn a professional language, imho.

If you are an absolute beginner, I recommended to read this book first, even if you don't have any interest on scheme or racket.
2 von 2 Kunden fanden die folgende Rezension hilfreich
A good introduction to a computer language 26. Juli 2013
Von bobblestiltskin - Veröffentlicht auf Amazon.com
Format: Taschenbuch
I have read books about Lisp in the past but never felt the urge to go and write code using the language, but this book has inspired me to go further with Racket (which is derived from Lisp). I think, for me, that the stated objective of the book has been achieved. I consider myself a beginner with Racket (and all languages derived from Lisp), I had not even heard of Racket before I saw this book and the book was very inspirational.

I felt that the approach taken (i.e. using games to introduce new aspects of the language) worked well. By the end of the book, networking and client/daemon solutions had been introduced. The concepts introduced by the games could easily be generalised. I liked the writing style and felt that the cartoons offered a welcome respite from some of the deeper technical concepts introduced.

As with all of the recent books I have read by NoStarch press, I found the quality of the book printing and binding to be very good.

A disclaimer: I asked to review this and was sent a copy gratis for that purpose.
Waren diese Rezensionen hilfreich? Wir wollen von Ihnen hören.