Groovy Language Specification  
First Draft  
Chapter 1

Introduction

The organization of this chapter parallels the Introduction in the Java Language Specification (second edition), which begins as follows:

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). 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.

1.1 Example Programs

(Cf. JLS. §1.1.)

Unchanged.

1.2 Notation

(Cf. JLS. §1.2.)

Unchanged.

1.3 Relationship to Predefined Classes and Interfaces

(Cf. JLS. §1.3.)

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.

1.4 References

(Cf. JLS. §1.4.)

TO DO


Specification Table of Contents.

The organization of this chapter parallels the Introduction in the Java Language Specification (second edition).

The original of this specification is at http://docs.codehaus.org/display/GroovyJSR.