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.

jlstrater

March 20, 2018
Tweet

More Decks by jlstrater

Other Decks in Technology

Transcript

  1. Why use #groovylang? How to
    convince your boss and others
    Jenn Strater
    @codeJENNerator

    View Slide

  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.

    View Slide

  3. @codeJENNerator
    Follow Along
    https://speakerdeck.com/jlstrater/why-groovy-berlin-gug-march-2018

    View Slide

  4. @codeJENNerator
    Outline
    • Why use Groovy?
    • Truth or Myth?
    • Ways to Start Using Groovy Today!

    View Slide

  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

    View Slide

  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.

    View Slide

  7. @codeJENNerator
    Audience Background

    View Slide

  8. @codeJENNerator
    Audience Background
    • Groovy
    • Everyday user
    • Side project user
    • New to Groovy
    • Frameworks / Tools
    • Grails
    • Spock
    • Gradle
    • Griffon
    • Jenkins
    • Spring Boot

    View Slide

  9. View Slide

  10. View Slide

  11. @codeJENNerator
    Features

    View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. @codeJENNerator
    Ecosystem

    View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. @codeJENNerator
    Community

    View Slide

  26. View Slide

  27. View Slide

  28. @codeJENNerator

    View Slide

  29. @codeJENNerator
    Truth
    or Myth?

    View Slide

  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.

    View Slide

  31. @codeJENNerator
    WARNING
    • For the online version, the answers have been
    removed. You’ll just have to see it in person next
    time ;)

    View Slide

  32. @codeJENNerator
    1.Groovy is the same
    thing as Grails

    View Slide

  33. @codeJENNerator
    2. Groovy is a
    scripting language

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  38. @codeJENNerator
    7. Groovy is slow

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  42. @codeJENNerator
    11. Groovy is dead

    View Slide

  43. View Slide

  44. @codeJENNerator

    View Slide

  45. @codeJENNerator
    Adding Groovy to your
    organization

    View Slide

  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)

    View Slide

  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

    View Slide

  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.

    View Slide

  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!

    View Slide

  50. @codeJENNerator
    Conclusion

    View Slide

  51. @codeJENNerator

    View Slide

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

    View Slide

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

    View Slide

  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.

    View Slide

  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.

    View Slide

  56. @codeJENNerator
    Questions?
    https://flic.kr/p/5DeuzB

    View Slide