Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why Groovy Berlin GUG March 2018

Why Groovy Berlin GUG March 2018

**** WARNING ****
The answers to the Groovy Truth or Myth questions have been removed. Please don't spoil it for future attendees.

Groovy has been around for a long time, but over the last several years, Groovy has changed a lot. Some of the articles, blog posts, and talks published about early versions of Groovy are just no longer true. By the end of this session, you’ll be able to tell some of the best Groovy truth from fiction and leave with some solid arguments for your boss and others as to why Groovy is such an awesome, productive, and readable alternative language for the JVM.

We'll start with some of the community’s favorite features like special operators, optional typing, metaprogramming, and dynamic vs. static compilation. We’ll also explore popular libraries and frameworks where knowing Groovy would be helpful such as Gradle build files, Elasticsearch, Jenkins, and Apache Spark. The session concludes with ways to learn more and how to contribute to making Groovy even more groovy.


March 20, 2018

More Decks by jlstrater

Other Decks in Technology


  1. Why use #groovylang? How to convince your boss and others

    Jenn Strater @codeJENNerator
  2. @codeJENNerator Note For Those Viewing Slides Online • Bulleted text

    like this indicates the key points mentioned on a previous slide. They may not have been included in the official presentation. • If this view does not support links, the links will work in the pdf. Click the ‘download pdf’ button on the right.
  3. @codeJENNerator Follow Along https://speakerdeck.com/jlstrater/why-groovy-berlin-gug-march-2018

  4. @codeJENNerator Outline • Why use Groovy? • Truth or Myth?

    • Ways to Start Using Groovy Today!
  5. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software,

    Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Follow Along https://speakerdeck.com/jlstrater/test-driven-docs-springone-2017 https://github.com/jlstrater/groovy-spring-boot-restdocs-example https://github.com/ratpack/example-books https://github.com/jlstrater/spring-restdocs-public-api-example 5
  6. @codeJENNerator About Me - Working at Zenjob. - Groovy (mostly

    Grails) user since 2013. - Before moving to Berlin, I spent a year in Copenhagen. - Before that, I was senior consultant at Object Partners, Inc. in Minneapolis, MN, USA. - Co-founder of Gr8Ladies (deprecated) - Passionate about bring new people into the Groovy community through free introductory workshops called Gr8Workshops and supporting underrepresented minorities and their careers in tech.
  7. @codeJENNerator Audience Background

  8. @codeJENNerator Audience Background • Groovy • Everyday user • Side

    project user • New to Groovy • Frameworks / Tools • Grails • Spock • Gradle • Griffon • Jenkins • Spring Boot
  9. None
  10. None
  11. @codeJENNerator Features

  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. @codeJENNerator Ecosystem

  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. @codeJENNerator Community

  26. None
  27. None
  28. @codeJENNerator

  29. @codeJENNerator Truth or Myth?

  30. @codeJENNerator • After spending some time at Java User Groups,

    Conferences, and reading lots of stuff online, I realized that there are a lot of things people get wrong about Groovy or that just aren’t true in the most recent versions. • All of these assumptions are things are related to conversations I’ve had with real people at some point in my career.
  31. @codeJENNerator WARNING • For the online version, the answers have

    been removed. You’ll just have to see it in person next time ;)
  32. @codeJENNerator 1.Groovy is the same thing as Grails

  33. @codeJENNerator 2. Groovy is a scripting language

  34. @codeJENNerator 3. The original creator of Groovy has left the

  35. @codeJENNerator 4. Groovy’s dynamic nature can mean more runtime errors

  36. @codeJENNerator 5. Groovy is a dynamically typed language

  37. @codeJENNerator 6. Groovy is for side projects/ scripts/internal projects but

    not for production apps
  38. @codeJENNerator 7. Groovy is slow

  39. @codeJENNerator 8. Gradle is switching to Kotlin because Groovy sucks.

  40. @codeJENNerator 9. You can use Groovy and still write statically

    compiled code
  41. @codeJENNerator 10. Grails is Rails for the JVM

  42. @codeJENNerator 11. Groovy is dead

  43. None
  44. @codeJENNerator

  45. @codeJENNerator Adding Groovy to your organization

  46. @codeJENNerator See if you are already using Groovy in/ with

    your existing libraries or frameworks • Jenkins (Pipeline, Jobs Plugin, and many more!) • Spring Boot (optional Groovy support) • Apache Spark • SoapUI • JMeter • Tinkerpop • Elasticsearch (deprecated)
  47. @codeJENNerator Spock • Groovy can be used in tests, but

    not in the end product if you don’t need it. • Spock is the BEST testing framework for the JVM
  48. @codeJENNerator Try a small POC • Frameworks like Grails are

    great for trying something out. If the team gets used to using Groovy for small projects, it might be easier to use it in more places later.
  49. @codeJENNerator Get Connected • Subscribe to the groovy users mailing

    list • Join the Groovy Community on Slack groovycommunity.com or sign-in again at groovy- community.slack.com • Contribute by writing documentation or fixing bugs. • Attend conferences like GR8Conf EU 2018. • Join Zenjob!
  50. @codeJENNerator Conclusion

  51. @codeJENNerator

  52. @codeJENNerator • Groovy is a fun language with a great

  53. @codeJENNerator • Groovy is a fun language with a great

    community! • You can use Groovy in many different ways!
  54. @codeJENNerator • Groovy is a fun language with a great

    community! • You can use Groovy in many different ways! • It isn’t an all-or-nothing solution. You can start small.
  55. @codeJENNerator • Groovy is a fun language with a great

    community! • You can use Groovy in many different ways! • It isn’t an all-or-nothing solution. You can start small. • Start talking about Groovy with your boss and coworkers and make sure they don’t keep spreading the Groovy myths. Keep them on the Groovy truth.
  56. @codeJENNerator Questions? https://flic.kr/p/5DeuzB