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






