Paul King

Principal Software Engineer & Groovy Lead, OCI

Dr. Paul King has been contributing to open source projects for nearly 30 years and is an active committer on numerous projects including Groovy, GPars and Gradle. Paul speaks at international conferences, publishes in software magazines and journals, and is a co-author of Manning’s best-seller: Groovy in Action, 2nd Edition.

 

Talks on Wurreka:

The two most common programming paradigms are the imperative (including OO) and functional styles. An alternative style, supported originally through languages like Prolog, is logic or constraint programming. In that style, attempts are made to find automatic solutions to problems expressed as logic expressions. While Prolog hasn't been in mainstream use for many years, some of the novel solutions offered by that style are now possible on the JVM using constraint programming libraries. This talk looks at what kinds of problems lend themselves to constraint programming solutions and gives numerous Java and Groovy examples (though you could easily convert the examples to most JVM languages).

Property-based testing is an approach to testing that involves checking that a system meets certain expected properties. The approach is frequently promoted as a desired technique when adopting a functional style of programming. It typically involves guiding the generation of large data sets using a generator framework which can be much less work than coding large test suites by hand. This talk looks at the concepts behind this approach and some of the available libraries. The examples are in Java and Groovy but can be easily ported to other JVM languages. The concepts are applicable across all languages.

In part 1 of this 2-part workshop, you will be introduced to the latest features in Groovy 2.5 and 3.0 including new AST transforms, new macro features, the new Parrot parser, and numerous other features. You will also get a peek at what's planned for Groovy 4.0.

The overview of available features will include a number of interesting lab exercises that allow you to try some of them yourself.

In part 2, you will learn how to "Make Your Testing Groovy" as Paul guides you in using the Groovy scripting language as the basis for Agile testing.

Paul will cover tools, libraries, and techniques for unit and behavior-driven development (BDD) testing. You'll look briefly at using Groovy with JUnit, Spock, and libraries for testing in special contexts, e.g., using Geb to test web applications and microservices.

Various testing approaches, such as all-combinations, all-pairs, model-based testing, and property-based testing will also be covered. Finally, you'll get tips for writing testing DSLs.

Objectives

  • Explore new features in upcoming Groovy releases
  • Reinforce Groovy knowledge with hands-on practice, so you're all set to start using the new features right away
  • Discover testing techniques to try when developing your own applications
  • Understand how to write testing DSLs
  • Intended Audience

Although everyone is welcome, this workshop is designed for developers who have some previous exposure to Groovy and want to get up to speed on the latest features or expand their testing repertoire.

We do recommend attendees have at least some previous exposure to Groovy. Prior experience with the Gradle tool is also a plus, but not essential.

Groovy is a powerful multi-paradigm programming language for the JVM that offers a wealth of features that make it ideal for many data science and big data scenarios.

Groovy has a dynamic nature like Python, which means that it is very powerful, easy to learn, and productive. The language gets out of the way and lets data scientists write their algorithms naturally.

It has a static nature like Java and Kotlin, which makes it fast when needed. Its close alignment with Java means that you can often just cut-and-paste the Java examples from various big data solutions and they’ll work just fine in Groovy.

And it has first-class functional support, meaning that it offers features and allows solutions similar to Scala. Functional and stream processing with immutable data structures can offer many advantages when working in parallel processing or clustered environments.

These slides review the key benefits of using Groovy to develop data science solutions, including integration with various JDK libraries commonly used in data science solutions including libraries for data manipulation, machine learning, plotting and various big data solutions for scaling up these algorithms.

Math/Data Science libraries covered include: Weka, Smile, Apache Commons Math, beakerx notebooks, Deep Learning4J.

Libraries for scaling/concurrency include: Apache Spark, Apache Ignite, Apache MXNet, GPars, Apache Beam.

See Highlights of
Wurreka

Hear What Attendees Say

PWC Logo

“Once again Wurreka has knocked it out of the park with interesting speakers, engaging content and challenging ideas. No jetlag fog at all, which counts for how interesting the whole thing was."

Cybersecurity Lead, PwC

Intuit Logo

“Very much looking forward to next year. I will be keeping my eye out for the date so I can make sure I lock it in my calendar"

Software Engineering Specialist, Intuit

Groupon Logo

“Best conference I have ever been to with lots of insights and information on next generation technologies and those that are the need of the hour."

Software Architect, GroupOn

Hear What Speakers & Sponsors Say

Scot Davis

“Happy to meet everyone who came from near and far. Glad to know you've discovered some great lessons here, and glad you joined us for all the discoveries great and small."

Scott Davis, Web Architect & Principal Engineer, ThoughtWorks

Oracle

“What a buzz! The events have been instrumental in bringing the whole software community together. There has been something for everyone from developers to architects to business to vendors. Thanks everyone!"

Voltaire Yap, Global Events Manager, Oracle Corp.

Venkat Subramaniam

“Wonderful set of conferences, well organized, fantastic speakers, and an amazingly interactive set of audience. Thanks for having me at the events!"

Dr. Venkat Subramaniam, Founder - Agile Developer Inc.