| *Chapter 1* |
| |
| h1. Introduction |
| |
| The organization of this chapter parallels the [Introduction|http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html] in the [Java Language Specification (second edition)|http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html], which begins as follows: |
| |
| bq. The Java programming language is a general-purpose, concurrent, class-based, object-oriented language. It is designed to be simple enough that many programmers can achieve fluency in the language. The Java programming language is related to C and C++ but is organized rather differently, with a number of aspects of C and C++ omitted and a few ideas from other languages included. It is intended to be a production language, not a research language, and so, as C. A. R. Hoare suggested in his classic paper on language design, the design has avoided including new and untested features. |
| |
| TO DO: add some words concerning Groovy's design goals. |
| |
| Groovy is specified as a set of modifications to the text of the [Java Language Specification (second edition)|http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html]. Each chapter of the Java Language Specification (JLS) has a parallel chapter in the GLS. Within each chapter, each section of the JLS has a parallel section in the GLS, although the GLS also contains additional sections. |
| |
| To aid understanding, each modification to the text of the JLS is described as an _Addition_, _Deletion_ or _Change_. Where a GLS section is marked "unchanged", it means the JLS section describes Groovy as well as Java. Some subsections of the GLS also hold explanatory text. |
| |
| {anchor:1.1} |
| h2. 1.1 Example Programs |
| (Cf. ??[JLS. §1.1|http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#11484]??.) |
| |
| Unchanged. |
| |
| {anchor:1.2} |
| h2. 1.2 Notation |
| (Cf. ??[JLS. §1.2|http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#11506]??.) |
| |
| Unchanged. |
| |
| {anchor:1.3} |
| h2. 1.3 Relationship to Predefined Classes and Interfaces |
| (Cf. ??[JLS. §1.3|http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#248104]??.) |
| |
| _Addition_: As some classes have a special relation ship with the Java programming language, there are other classes that have a special relationship with the Groovy programming language, notably those in the {{groovy.lang}} package. |
| |
| |
| {anchor:1.4} |
| h2. 1.4 References |
| (Cf. ??[JLS. §1.4|http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#247980]??.) |
| |
| TO DO |
| |
| |
| ---- |
| Specification [Table of Contents|index.html]. |
| |
| The organization of this chapter parallels the [Introduction|http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html] in the [Java Language Specification (second edition)|http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html]. |
| |
| The original of this specification is at [http://docs.codehaus.org/display/GroovyJSR]. |