Java developers benefit from using Groovy, but so can you who don't already know Java. If you want to access the power of the Java Virtual Machine and Development Kit libraries when programming, but don't want to learn the Java Language, you can use Groovy instead. Or maybe you do want to learn Java, but do so the easy way: you can learn Groovy first. You'll be productive sooner, and can go on to learn more about Java at your own pace.

Much of the documentation on this website at Codehaus is for those who already know Java. These pages are for you who don't, so you can learn enough of the Groovy basics to easily use the other documentation on this website. They introduce Groovy's core classes and syntax together. All code examples have been tested using Groovy 1.0 or later inside a script. It's aimed at you who have already programmed before, just not in Java, maybe in PHP, Perl, or Visual Basic. Do note that although this documentation is correct and detailed, it's still a little raw because it's still being written.

    Getting Started - enough background to dive into the tutorials that follow

1. Numeric Processing
    Integer Math - choose from many types of integers

    Decimal Math - for high-precision decimal math

    Floating Point Math - for high-speed decimal math

    Dates and Times - enabling complex date manipulations

2. Collections
    Lists and Sets - group various items into a collection

    Arrays - fixed-size arrays for faster collections

    Maps - assign collected values to keys

3. Text Processing
    Characters - access the full power of Unicode

    Strings - easily handle strings of characters

    String Pattern Matching - find patterns within strings

4. Input and Output
    Files - manipulate the file system easily

    Streams, Readers, and Writers - access data as a flow of information

5. Control Structures
    Blocks, Closures, and Functions - compose programs from many building blocks

    Expandos, Classes, and Categories - encapsulate program complexity

    Program Control - various ways to structure program logic

6. Data Typing
    Static Typing and Interfaces - put compile-time restrictions in programs

    Inheritance - use classes and methods for many purposes

    Exceptions - handle exception and error conditions simply

7. Meta-Programming
    Interceptors - intercept method calls

    MetaClasses - add and modify behavior of objects

    Class Reflection - examine and manipulate objects dynamically - IN PROGRESS

Other Topics Coming
    Packages
    Multi-Threading
    Networking
    Internationalization
    Annotations
    Enums
    Builders
    Class Loading
    Permissions

To continue learning Groovy, you can now go on to:
    Java, the engine behind Groovy's power and performance
    Swing, the graphical interface for Java, made easy with Groovy's own SwingBuilder
    Eclipse, the free IDE with a Groovy plugin to make managing your code easy
    useful Groovy modules, such as Gant, which extend the Groovy system
    Grails, bringing the power of Groovy to website development and deployment