Apache Groovy Track
Thursday 15:00 UTC
Groovy update: What's new in Groovy 3 and coming in 4
Paul King
This talk looks at the latest features in Groovy from 3 and 4. For Groovy 3, this includes the Parrot parser and a myriad of other new miscellaneous features. For Groovy 4, this includes numerous large scale reworking effects, new built-in type checkers and macro methods, a JavaShell, record-like classes, design-by-contract support, Groovy's integrated query and Groovy's response to features coming in JDK versions up to JDK 17. The talk outlines a broad roadmap of how the new features are planned to be rolled out and the system requirements for each version.
Paul King is a JavaOne Rockstar who has been contributing to open source projects for nearly 30 years. He 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. He is also VP Apache Groovy and Chair of the Apache Groovy PMC.
Thursday 15:50 UTCFunctional Programming in Java, Groovy, and Kotlin
Kenneth Kousen
This code-based talk discusses how features of functional programming are implemented in three different JVM-based languages. Examples include how lambda expressions, method references, and streams are handled differently, as well as higher-order functions, closure composition, trampolining, currying, tail recursion, and more.
Ken Kousen is a Java Champion, Oracle Groundbreaker Ambassador, and a Grails Rock Star. He is the author of the books "Kotlin Cookbook", "Modern Java Recipes", "Gradle Recipes for Android", "Making Java Groovy", and "Help Your Boss Help You". He is a regular speaker on the No Fluff, Just Stuff conference tour, and has given keynote talks at conferences around the world.
He is a multiple winner of the JavaOne Rockstar award. His academic background include BS degrees in both Mechanical Engineering and Mathematics from M.I.T., an MA and Ph.D. in Aerospace Engineering from Princeton, and an MS in Computer Science from R.P.I. He is currently President of Kousen IT, Inc., based in Connecticut.
What makes Groovy a great scripting language
Kunal Dabir
Groovy is uniquely positioned in the JVM ecosystem to be used as productive scripting language. In this talk we will cover many advanced and practical aspects of scripting like reading and storing passwords using OSX keychain, interoperating with other programs and consuming their output, interacting with secure APIs (OAuth2), handling various data formats like JSON/CSV/XML, building CLI interfaces, identifying right place to persist your data, and many more topics based a decade of real world usage of Groovy scripts. In short, the goal is to make your scripts a good unix citizen and write production grade scripts. This talk would assume some basic knowledge of Groovy and scripting environments like Bash.
Kunal Dabir is VP of Engineering at Medly. He had been coding for last two decades in various languages. He has always been passionate about automation & scripting, and deeply cares about the developer productivity. He is author of the book titled "Gradle Essentials” and loves to speak at Meetups and Conferences.
Thursday 18:00 UTCWhat's next for the Groovy web console?
Guillaume Laforge
The venerable Groovy web console helps developers share snippets of groovy code. However, it doesn't really look fresh. Furthermore, there are certain limitations that could potentially be lifted. What could a redesigned web console look like? Sometimes, you'd like to pin a specific version of Groovy: you might want to try the new Groovy 3 or are stuck with a 2.5.x version. Perhaps you are using @Grab to take advantage of some dependencies in your script, and you would like to test and run this snippet online. Is it possible? Let's see what we can do for the long awaited v2 of the Groovy web console!
Last year, we started with a first prototype to validate that it works, let's now see what's next, and how we can replace the legacy web console!
Guillaume Laforge is the co-founder of the Apache Groovy programming language project. In his professional life, he is developer advocate for Google Cloud technologies.
Thursday 18:50 UTCStatic websites using Apache Groovy
Sergio del Amo Caballero
Apache Groovy and Gradle are the perfect combination for generating a static website. In this talk, the speaker reflects on his experience on building a website with a static generator build with Gradle and Groovy.
Topics include:
- JSON Feed / RSS Generation
- Tagging
- Markdown processing
- Templating
Sergio del Amo feels genuinely empowered by Grails and how succinct and powerful Groovy is. After 6 years contributing his expertise to Grails applications, Guides, plugins, and other related technologies, Sergio assisted the 2GM team in the development of Micronaut. Since April 2015, Sergio has been the author of Groovy Calamari, a weekly newsletter about the Groovy Ecosystem: Grails, Geb, Gradle, and Ratpack.
Thursday 19:40 UTCThe Groovy Way of Testing with Spock
Naresha K
Spock is a testing framework written in Groovy. I can confidently say that Spock is the best testing framework I ever used. The reason for this is the expressive specification language provided by the framework along with the productivity benefits offered by the Groovy language. Spock leverages the JUnit ecosystem and hence can co-exist with tests written in JUnit. In this presentation, we explore several features of Spock and understand how they add value to developers in terms of simplicity, readability, productivity, pragmatism.
We start by exploring the BDD style (given-when-then) structure of a Spock test and understand how it aids the developers to organise their thoughts and retain that clarity for the reader of the test as well. Then we move on to exploring the Spock way of writing assertions and understand the simplicity with which it provides expressive failure messages which aid in quick actionable feedback. Then we move on to realizing how Spock requires fewer tools and a smaller set of APIs to achieve functionalities such as mocking. In fact, Spock doesn't need an external library for mocking. In the final part of the presentation, we compare the approach of Spock in the areas of data-driven testing, ordering test cases, and co-existence with JUnit.
Naresha works as an Architect and Technical Excellence Coach. He works with the developers to improve their professional practices to get better at developing maintainable applications that continuously deliver business value. He also helps teams architect solutions for the cloud and migrate applications to cloud platforms. He has been developing enterprise software for more than 14 years. TDD, Refactoring, Programming languages, Cloud architecture, Continuous Delivery, and Domain-Driven Design are his current areas of interest. He is passionate about learning new technologies/ programming paradigms and applying them to solve business problems.
Naresha is the founder organiser of Bangalore Groovy User Group. He has been a speaker at several conferences including ApacheCon, GR8 Conf EU, Agile India, Functional Conf, GR8 Conf India, Java2Days Bulgaria, GIDS, Eclipse Summit, I Code Java Africa, Selenium Conf, AWS Community Day, and FOSSCON India.