Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Groovy Talk 2013 - javaMexico.org
Search
Javier Ramírez Jr
June 12, 2013
Programming
160
3
Share
Groovy Talk 2013 - javaMexico.org
Javier Ramírez Jr
June 12, 2013
More Decks by Javier Ramírez Jr
See All by Javier Ramírez Jr
El Futuro de Java, Cloud y AI
benek
0
33
Resilient Architecture Simplified - Isabel Palomar - @javaMexico
benek
0
62
Groovy & Grails 2012
benek
0
93
Charla sobre Testing
benek
1
110
Other Decks in Programming
See All in Programming
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
Rethinking API Platform Filters
vinceamstoutz
0
7.8k
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
220
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
AI駆動開発がもたらすパラダイムシフト
ryosuke0911
0
110
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
320
事業会社でのセキュリティ長期インターンについて
masachikaura
0
230
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
3
390
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
190
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
150
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
190
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
820
Featured
See All Featured
Docker and Python
trallard
47
3.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
30 Presentation Tips
portentint
PRO
1
270
My Coaching Mixtape
mlcsv
0
92
Rails Girls Zürich Keynote
gr2m
96
14k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
Technical Leadership for Architectural Decision Making
baasie
3
310
ラッコキーワード サービス紹介資料
rakko
1
2.9M
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Typedesign – Prime Four
hannesfritz
42
3k
Building AI with AI
inesmontani
PRO
1
860
Balancing Empowerment & Direction
lara
5
1k
Transcript
Groovy Language
Javier Ramírez javaMexico.org Founder COO and Co-Founder @ SintelTI @_benek
on Twitter Who am I?
¿Groovy?
¿Groovy?
¿Groovy?
None
None
programming language for the JVM
Java Lang Bytecode
Java Lang Bytecode Jython JRuby Scala Clojure Groovy +250...
... +250
= ¿?
= Java
= Super Java
= Java + Esteroids
Object Oriented Dynamic Compact Inspired by Ruby, Python, Perl, Smalltalk,
Java Features
“Hello World”
“Hello Cruel World”
Java
Groovy
Groovy takes care of your Java knowledge But you can
write with “the groovy way”
Groovy
Groovy
Groovy
Groovy
Groovy optional semicolon
Avoid concatenation “Hello “ + name;
Avoid concatenation “Hello “ + name;
Avoid concatenation “Hello “ + name; “Hello $name”
you don’t need to “return” The last value or expresion
will be returned by Groovy
avoid parentheses in many methods println “Hello $name”
“def” keyword avoids declaring type, type will be inferred dynamic
typing
The Groovy way...
Groovy can run code like in a script scripting
Groovy can run code like in a script scripting
Native support for collections List, Maps, Arrays
Native support for collections List, Maps, Arrays
Groovy Ranges
Groovy Ranges
Groovy Ranges
Maps
Maps
spread-dot operator invoke a method which iterates through all items
of a collection
spread-dot operator invoke a method which iterates through all items
of a collection
Advanced Features Closures Metaprogramming AST transformations
A closure... anonymous code block that can be assigned to
a variable
A closure...
A closure...
A closure...
A closure...
Metaprogramming Ability to add methods and properties at runtime
Metaprogramming times() method in Integer? this behaviour is added by
Groovy at runtime
Metaprogramming
más info... groovy.codehaus.org javamexico.org
¡Gracias!
Javier Ramírez Jr www.javamexico.org www.sintelti.com.mx twitter: @_beneK