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
3
150
Groovy Talk 2013 - javaMexico.org
Javier Ramírez Jr
June 12, 2013
Tweet
Share
More Decks by Javier Ramírez Jr
See All by Javier Ramírez Jr
Resilient Architecture Simplified - Isabel Palomar - @javaMexico
benek
0
53
Groovy & Grails 2012
benek
0
79
Charla sobre Testing
benek
1
110
Other Decks in Programming
See All in Programming
Powerfully Typed TypeScript
euxn23
3
1.5k
WebGLで始める コンピュータグラフィックス入門
heller77
0
370
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
230
JavaScript Closure
asoluka
0
2k
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
120
一文字エイリアスのすすめ
fujimura
0
190
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
170
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
74k
仕様と実装で学ぶOpenTelemetry
drumato
2
930
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
3
2.1k
チーム立ち上げにAWSを活用したらClaudeさんに褒められた話
mkdev10
3
230
WinActorの勉強を継続する方法
tamai_63
0
130
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
176
21k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Git: the NoSQL Database
bkeepers
PRO
423
63k
How to name files
jennybc
65
94k
Side Projects
sachag
451
41k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
A Philosophy of Restraint
colly
197
16k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
Agile that works and the tools we love
rasmusluckow
325
20k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
120
A Modern Web Designer's Workflow
chriscoyier
689
190k
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