By Developers, For Developers
| PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
|---|---|---|---|---|---|
| 3 | TYPO | “languages allow you to do things at runtime that static languages do at The ‘e’ is missing from time. (This was the preview PDF) | 2008-02-21 | ||
| 9 | TYPO | Replace “compile tim;” with “compile time;” | 2008-02-21 | ||
| 12 | TYPO | Para 1: “(where the richness is really today)” should read “(where the richness really is today)” or similar. | 2008-02-21 | ||
| 14 | SUGGEST | Para 4: your work done. Groovy first provides you that. It further extends the JDK with convenience methods and closure support through the GDK This may read more easily as: As a Java programmer, you rely heavily on the JDK and its APIs to get your work done. These are still available in Groovy. In addition, Groovy extends the JDK with convenience methods and closure support through the Groovy Development Kit, or GDK. | 2008-02-21 | ||
| 19 | SUGGEST | You have no description of how to install on Linux or Unix (Solaris, etc). Of course, this is almost identical to the Mac. Also, would it not be more common to install as /opt/groovy ? One might then have a symlink from /usr/local/bin/groovy -> /opt/groovy/bin/groovy, but you probably wouldn’t want to put the entire install tree under /usr/local/bin, right? | 2008-02-21 | ||
| 24 | TYPO | staticmain() should be “static main()” (including space) | 2008-02-21 | ||
| 24 | TYPO | “that takes String()” -> “that takes String[]” or “String[] array” | 2008-02-21 | ||
| 26 | TYPO | YOu also have Should have “You” | 2008-02-21 | ||
| 27 | SUGGEST | Section 2.5 is confusing. In the 1st listing of Script1a, it is not clear why name is set after the println. You should first show the modified calling script (Script2a?) that passes the parameter name and receives the modified name variable. The calling script is never listed. | 2008-02-21 | ||
| 51 | ERROR | The output from the Calendar “plus” example is not shown. Instead, the source code is repeated. When you put in the example, be sure to specify the current date on which is was run! | 2008-02-21 | ||
| 53 | TYPO | Footnote 9 seems to be incomplete | 2008-02-21 | ||
| 56 | SUGGEST | I don’t understand the phrase “pay our technical debt” ??? | 2008-02-21 | ||
| 58 | SUGGEST | “instance created is [I, which is the JVM representation for int[].” Your typesetting in the PDF files makes the square brackets “[]” appear to be round parentheses “()” in the normal text (they do appear correctly in the code fragments, though). Is there some way to fix this? I am viewing using KPDF 0.5.4 on RHEL 5.1 | 2008-02-21 | ||
| 64 | SUGGEST | “If you tune the dial up, ” ??? Do you mean something like “If you turn up the volume” ? If so, it might be better phrased “If you listen closely, …” | 2008-02-21 | ||
| 71 | TYPO | Source code for takeHelpAndReward() is shown, rather than the output | 2008-02-21 | ||
| 72 | SUGGEST | " why I don’t have it in the middle between " should be something like “why doesn’t the figure show it in the middle between …” | 2008-02-21 | ||
| 75 | SUGGEST | “doubled << i 2” Unless I missed, you’ve not yet covered the << operator for appending to Groovy arrays. This might be confusing to new readers, since you’ve not yet covered collections. You may want to explain what is happening, or use a List. | 2008-02-21 | ||
| 77 | TYPO | “a function with variable bound to a context or environment in which it executes.” Should this be “with a variable”? Or, it might read better as “a function with a variable bound to a context (the environment in which it executes).” | 2008-02-21 | ||
| 79 | TYPO | On next to last line, missing question mark: “passed in?” | 2008-02-21 | ||
| 17 | TYPO | 1.5 - second paragraph “…learn some tricks and trips of the language…” trips should probably be ‘tips’. | 2008-02-21 | ||
| 36 | TYPO | Section 3.2 - End of first paragraph “…on to create thousands of silly | 2008-02-21 | ||
| 109 | TYPO | “out stock price” -> “our stock price” | 2008-02-21 | ||
| 109 | TYPO | xml = “ should be plural: xml = “ | 2008-02-21 | ||
| 120 | SUGGEST | “You can use the filterLine( ) method to realize the Unix command grep-like feature.” This is a bit unclear. A better version would be “The filterLine() method is similar to the Unix grep command.” There is also a missing “the” in the 1st sentence of the next paragraph: “looks for any line in the input…” | 2008-02-21 | ||
| 129 | TYPO | consuling -> should be consuming | 2008-02-21 | ||
| 9 | TYPO | 1.1 Why Dynamic Languages? missing the letter ‘e’ on the end of “compile time” right before the semi-colon. | 2008-02-21 | ||
| 29 | TYPO | 2nd para, ref to com.agiledeveloper.Hello.sayHello() exceeds right paragraph margin. | 2008-03-19 | ||
| 44 | TYPO | “Caffeine” is misspelled as “Caffine” in several places. | 2008-03-19 | ||
| 46 | TYPO | Para under “varargs” heading. Odd line break after “Remember,”. | 2008-03-19 | ||
| 64 | TYPO | 3rd para from bottom of page: | 2008-03-19 | ||
| 66 | TYPO | 2nd para: | 2008-03-19 | ||
| 79 | TYPO | 2nd para from bottom: “We’ve seen how to define and use closures; in this section we will go a bit deeper.” Why not just make this two sentences? “…and use closures. In this…”. | 2008-03-19 | ||
| 32 | TYPO | 5th paragraph on page, 3rd sentence begins: “The groovysy command compiles and executes completed statements” It should probably read “The groovysh command compiles and executes completed statements” | 2008-03-19 | ||
| 129 | TYPO | If you want to perform operations on each element of a collection, use “if you want to collection of the result” is incorrect | 2008-03-19 | ||
| 32 | TYPO | The groovysy command compiles and executes completed statements as soon as you hit the Enter/Return key Should say groovysh, not groovysy. | 2008-03-19 | ||
| 41 | TYPO | “Raiders of the Lost Arc” should be “Raiders of the Lost Ark” — John Loizeaux | 2008-03-19 | ||
| 35 | SUGGEST | There is a Groovy plugin in the works for NetBeans. It is currently available from the development plugin center. | 2008-03-19 | ||
| 173 | TYPO | Section 11.1, 3rd para - “you can take advantage of the Groovy join-compilation facility” should be “…joint-compilation…” | 2008-03-19 | ||
| 109 | ERROR | Missing: fix reference to figure here | 2008-04-29 | ||
| 203 | ERROR | Missing: Please make the sect2’s in this chapter appear in table of contents—I don’t know how to do that, but I think Missing: they should be title 1s then if they’re that important. –CE | 2008-04-29 | ||
| 274 | ERROR | Missing: fix the following xref | 2008-04-29 | ||
| 286 | ERROR | Missing: fix the following xref | 2008-04-29 | ||
| 211 | OK | Integer.metaClass.static.isEven should be | 2008-04-29 | ||
| 214 | OK | System.out.println at bottom of page where the more consistent println could be used same issue pages 216-221 | 2008-04-29 | ||
| 41 | SUGGEST | In comparing Java code to Groovy you use the evocative example of the sword-fight scene from Raiders of the Lost Ark. However your reference to a YouTube video (www.youtube.com/watch?v=m5TcfywPj0E) results in an error; YouTube has removed the video. However, you can still find it at AOL (video.aol.com/video-detail/indiana-jones-sword-fight/2100620337). Interestingly it is a YouTube video! | 2008-04-29 | ||
| 80 | TYPO | Section 4.4: They allow us to agree upon a certain expectations to be fulfilled. should read They allow us to agree upon certain expectations to be fulfilled. | 2008-04-29 | ||
| 121 | OK | The page ends with …elegant cousin of ’\\\\d\\\\w" That should be …elegant cousin of ‘\\\\d\\\\w’ | 2008-04-29 | ||
| 66 | TYPO | “Generics.java:10: cannot find symbol” needs to be “Generics.java:11: cannot find symbol” since line 11 is passing a String to the List. | 2008-04-29 | ||
| 49 | TYPO | “leads to a problems” should read, “leads to problems” | |||
| 162 | ERROR | The code: Does not produce an indented xml document, but a single line string. This is really important to mention and confusing. I don’t think there is a way to make the output indented with that Builder. | |||
| 129 | ERROR | “Here’s an example: friends refers to a map” Friends is a list, not a map. Also, the short names in the list definition (e.g. briang) are never used. | |||
| 202 | TYPO | 4th paragraph, 1st sentence: “…the names of methods you want to add to one more more classes.” The word “more” is repeated twice. I’m guessing the first “more” should really be “or”. | |||
| 203 | 218 | SUGGEST | I suggest discussing propertyMissing. I tried using method injection based on chapter 14 for a property and wondered why I was not seeing setXXX() and getXXX() like I expected. | ||
| 37 | TYPO | Last paragraph of the page reads: “it leads to a problems, such as when…” “a problems” is not correct. | |||
| 37 | TYPO | According to the context and subsequent def access(location,weight,fragile) should be def access(weight,location,fragile) | |||
| 76 | TYPO | The text says “BigNumber” instead of “BigDecimal” in the 2nd paragraph (not that I don’t wish my raise was a BigNumber…) | |||
| 89 | TYPO | 2nd paragraph: “So, the compiler treats the instance of BigNumber as Number.” BigNumber should be BigDecimal. | |||
| 149 | ERROR | The code works with 1.5.6, JVM: 1.5.0_17-b04 on Ubuntu 8.10 The languages.xml file in the code download differs from the example in the book on page 148. The xml file in the book works fine, but the one in the download returns empty results. | |||
| 44 | TYPO | In the table “Type x Condition for truth”, for Iterator, instead of “has text”, it should be “has next”, isn’t it ? | |||
| 197 | TYPO | one more more classes -> one more to. | |||
| 1 | ERROR | I’m reading the mobi version of the book on my kindle, so I don’t have a page number. The kindle reports it as location 480-89. The section entitled “Groovy as Lightweight Java” seems to be missing an example after the last bullet point. It reads “For example in the following code, the learn methods return the class so you can chain calls to learn methods:”. But there is no example. The Javabeans section begins immediately after the colon. I assume this is an issue with the mobi formatting, but haven’t verified. | |||
| 37 | SUGGEST | Will Krespan’s erratum for page 37 is wrong. Venkat clearly states that they are out of order. It was done for illustrative purposes. Furthermore, in this example, the first parameter (location) is assumed to be a Map. Changing the order would make weight a Map, not something we want to do. | |||
| 37 | SUGGEST | I see the point of about the reasoning of the p.37 example. | |||
| 187 | TYPO | Figure 12.2 has multiple instances of “it’s” used as a possessive. Also, my PDF says it is the P2.0 printing, while this errata page says that P1.0 is the latest. | |||
| 284 | TYPO | first line should read: … of the method at() … | |||
| 67 | ERROR | Running the code in Groovy I get an error (book says it will run) 1 I am running: | |||
| 295 | SUGGEST | Add ‘as’ operator to index, as described in section 3.4 on page 39. Glen Smith was discussing this here: | |||
| 228 | ERROR | source code because the original source code throw groovy.lang.MissingMethodException | |||
| 158 | TYPO | dynamic tying should be dynamic typing (line directly af the header “Using XMLParser”) Using XMLParser | |||
| 68 | ERROR | Executing the code def isPalindrome2(str) in a Groovy Console version 1.7.7 is printing mom is palindrome? true instead of mom is palindrome? null | |||
| 76 | ERROR | In the C code example provided at the bottom of page 76, the char* argument is referred to as “argv” in the formal parameter list; but it is referred to as the variale “value” in the code block within the method definition. | |||
| 39 | TYPO | Substitute “print()” to println() “The $ in front of the variable it tells the method println( )..” | |||
| 47 | ERROR | MacBookPro, snow leopard, Groovy Version: 1.7.6 JVM: 1.6.0_24 | |||
| 49 | SUGGEST | in the second paragraph after code example. the sentence is not clear. it is said that the first argument is assumed to be a map, but in the call of the method, the paired value arrives in second position. confusing. |