Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Groovy for Domain-Specific Languages

Buy

You may already be aware that the Java virtual machine runs on everything from the largest mainframe to the smallest microchip and supports almost every conceivable application. What you may not realize is that to develop software in some of these scenarios requires a targeted, single purpose language, a Domain Specific Language. The popular scripting language Groovy can be used to create a Domain Specific Language that can run directly on the JVM alongside regular Java code.

This comprehensive tutorial will take you through the design and development of Groovy-based Domain Specific Languages. It is a complete guide to the development of several mini-DSLs with a lot of easy-to-understand examples. This book will help you to gain all of the skills needed to develop your own Groovy-based DSLs, as it guides you from the basics through to the more complex meta-programming features of Groovy. The focus is on how the Groovy language can be used to construct domain-specific mini-languages.

Practical examples are used throughout to de-mystify the seemingly complex language features and to show how they can be used to create simple and elegant DSLs. The examples include a quick and simple Groovy DSL to interface with Twitter.

The book concludes with a chapter focusing on integrating Groovy-based DSLs in such a way that the scripts can be readily incorporated into the readers' own Java applications. The overall goal of this book is to take Java developers through the skills and knowledge they need to start building effective Groovy-based DSLs to integrate into their own applications.

This practical guide will teach you how to build Domain Specific Languages in Groovy that integrate seamlessly with your Java applications

What you will learn from this book

  • Learn Groovy scripting designed to get Java programmers using Groovy quickly
  • Use the meta-programming features in Groovy to build your own DSLs
  • Learn everything you need to know about Groovy markup and build your own Groovy builders to simplify your application development
  • Build effective DSLs using operator overloading and Groovy categories
  • Work with Groovy closures
  • Get to grips with the working of Groovy on the JVM and integrate Groovy with your Java applications

Approach

This book is a practical tutorial, walking the reader through examples of building DSLs with Groovy covering meta-programming with Groovy. Some complex concepts are covered in the book but we go through these in a clear and methodically way so that readers will gain a good working knowledge of the techniques involved.

Who this book is written for

This book is for Java software developers who have an interest in building domain scripting into their Java applications. No knowledge of Groovy is required, although it will be helpful. The book does not teach Groovy, but quickly introduces the basic ideas of Groovy. An experienced Java developer should have no problems with these and move quickly on to the more involved aspects of creating DSLs with Groovy. No experience of creating a DSL is required.

The book should also be useful for experienced Groovy developers who have so far only used Groovy DSLs such as Groovy builders and would like to start building their own Groovy-based DSLs.

(HTML tags aren't allowed.)

Web Communities: Analysis and Construction
Web Communities: Analysis and Construction
The rapid development of Web technology has made the World Wide Web an important and popular application platform for disseminating and searching information as well as conducting business. However, due to the lack of uniform schema for Web documents, the low precision of most search engines and the information explosion on the World Wide Web, the...
C++ Standard Library Quick Reference
C++ Standard Library Quick Reference

This quick reference is a condensed guide to the essential data structures, algorithms, and functions provided by the C++ Standard Library. Used by millions of C++ programmers on a daily basis, the C++ Standard Library features core classes for strings, I/O streams, and various generic containers, as well as a comprehensive set of algorithms...

Cybercrime Investigative Case Management: An Excerpt from Placing the Suspect Behind the Keyboard
Cybercrime Investigative Case Management: An Excerpt from Placing the Suspect Behind the Keyboard

Investigative Case Management is a "first look" excerpted from Brett Shavers' new Syngress book, Placing the Suspect Behind the Keyboard. Investigative case management is more than just organizing your case files. It includes the analysis of all evidence collected through digital examinations, interviews,...


Official Eclipse 3.0 FAQs
Official Eclipse 3.0 FAQs
Most of the numerous Eclipse books published over the course of 2003 and 2004 cater directly to novel users and/or starting contributors to the platform. Other books have a particular focus on a specific vertical domain, such as modeling, or on a special niche, such as the underlying design principles of the platform.

This book has been...

Interactions Between Computational Intelligence and Mathematics Part 2 (Studies in Computational Intelligence)
Interactions Between Computational Intelligence and Mathematics Part 2 (Studies in Computational Intelligence)

This book presents recent research in the field of interaction between computational intelligence and mathematics. In the current technological age, we face the challenges of tackling very complex problems – in the usual sense, but also in the mathematical and theoretical computer science sense. However, even the most...

Java Data Objects
Java Data Objects
This book, written by the JDO Specification Lead and one of the key contributors to the JDO Specification, is the definitive work on the JDO API. It gives you a thorough introduction to JDO, starting with a simple application that demonstrates many of JDO's capabilities. It shows you how to make classes persistent, how JDO maps persistent classes...
©2021 LearnIT (support@pdfchm.net) - Privacy Policy