Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
-
Upload
jaxlondonconference -
Category
Technology
-
view
306 -
download
0
description
Transcript of Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Little words of wisdom for the developer
Guillaume Laforge
@glaforge ! http://glaforge.appspot.com "
http://gplus.to/glaforge +
Have Fun!
“ million downloadsper year1.7
Great forscripting
Great forscripting
Fit for Domain-Specific Languages
Great forscripting
Fit for Domain-Specific Languages
Most seamless integration &interoperability wih java!
Yup, we’re allusing Groovy!
“There are three types of people on earth: ones make things happen,
ones watch things happen, ones wonder what happened
— Jim LovellAppollo 13 astraunaut
Contribute to Open Source
Contribute to Open Source
Best carreermove for me!
Contribute to Open Source
Best carreermove for me!
Work with greatdevelopers
Contribute to Open Source
Best carreermove for me!
Travel and meetgreat people
Work with greatdevelopers
Contribute to Open Source
Best carreermove for me!
Travel and meetgreat people
Work with greatdevelopers
A job thatdoesn’t feel
like a job
Contribute to Open Source
Best carreermove for me!
Travel and meetgreat people
Work with greatdevelopers
A job thatdoesn’t feel
like a job
You’ll learna lot
Speak publicly
Speak publiclyGet more confident in
your skills, yourknowledge, yourself…
Always be nice& helpful
Always be nice& helpful
You get thecommunity you
deserve
“ Software is eating
the world— Marc Andreessen
Netscape fame Venture Capitalist
Software disrupted:retail, book, newspaper,
music industries….
Software disrupted:retail, book, newspaper,
music industries….
Need to reinventyourself !
Software offers us alot of opportunities
Software offers us alot of opportunities
Deploy in the cloud,spread the word onsocial networks…
Software offers us alot of opportunities
Deploy in the cloud,spread the word onsocial networks…
Create the nextdisruption!
“Don’t worry about what anybody else is going to do. The best
way to predict the future is to invent it.
— Alan Kay Smalltalk co-inventor
Be an actor!
Your bestasset is you!
Your bestasset is you!
Always investin yourself !
Think out of the box
“ Nothing is black or white. Life is never either / or.
Nothing is ever as straightforward
as it appears— Nelson Mandella
VI EMACS
STATIC DYNAMIC
Groovy adds statictyping and static
compilation
Groovy adds statictyping and static
compilation
C# adds a dynamickeyword, and Scala a
dynamic trait
Groovy adds statictyping and static
compilation
C# adds a dynamickeyword, and Scala a
dynamic trait
Everybody claimsto be functional
A blended world of languages…
Compiled
Static
Imperative
Object oriented
Single dispatch
Strong typing
Interpreted
Dynamic
Functional
Prototype based
Multiple dispatch
Weak typing
A blended world of languages…
Compiled
Static
Imperative
Object oriented
Single dispatch
Strong typing
Interpreted
Dynamic
Functional
Prototype based
Multiple dispatch
Weak typing
Not just 0 or 1
A blended world of languages…
Compiled
Static
Imperative
Object oriented
Single dispatch
Strong typing
Interpreted
Dynamic
Functional
Prototype based
Multiple dispatch
Weak typing
Not just 0 or 1
A float between 0 and 1
A blended world of languages…
Compiled
Static
Imperative
Object oriented
Single dispatch
Strong typing
Interpreted
Dynamic
Functional
Prototype based
Multiple dispatch
Weak typing
Not just 0 or 1
A float between 0 and 1
Even a vector of floats!
A blended world of languages…
Compiled
Static
Imperative
Object oriented
Single dispatch
Strong typing
Interpreted
Dynamic
Functional
Prototype based
Multiple dispatch
Weak typing
Not just 0 or 1
A float between 0 and 1
Even a vector of floats!
Several attributes atthe same time
“Programs must be written for people to read, and
only incidentally for machines to execute
— Abelson & SussmanStructure & Interpretation
of Computer Programs
Readability matters
Readability matters
Conciseness shouldn’tcompromise readability
Readability matters
Conciseness shouldn’tcompromise readability 80 % reading,
20 % writing code
Ascii art programming…
(0:/o)(_*_)
Ascii art programming…
(0:/o)(_*_)(0:/o)(_*_)
Ascii art programming…
(0:/o)(_*_)
Ascii art programming…
(0:/o)(_*_)(0:/o)(_*_)
Ascii art programming…
(0:/o)(_*_)
Ascii art programming…
(0:/o)(_*_)(0:/o)(_*_)
Ascii art programming…
(0:/o)(_*_)
Ascii art programming…
(0:/o)(_*_)
“ Any sufficiently advanced technology is indistinguishable
from magic— Arthur C. Clarke
Use magicwith caution
Use magicwith caution
Too many« implicits » or« conventions »can be harmful
Use magicwith caution
Too many« implicits » or« conventions »can be harmful
Often « explicit »is more obvious
Reinventingthe wheel isn’t
always bad!
Reinventingthe wheel isn’t
always bad!
What about anew language?
Reinventingthe wheel isn’t
always bad!
New languagesmature the field
What about anew language?
Reinventingthe wheel isn’t
always bad!
New languagesmature the field
Design patternsbecome language
features
What about anew language?
Reinventingthe wheel isn’t
always bad!
New languagesmature the field
Design patternsbecome language
features
We’d be stilldeveloping in
ASM or Cobol…
What about anew language?
“ Perfection is achieved not when there is nothing more
to add, but when there is nothing left to take away
— Antoine de Saint-Exupéry
Keep ItSimpleStupid
Keep ItSimpleStupid
Don’t over-engineertoo much
Keep ItSimpleStupid
Don’t over-engineertoo much
You Ain’t GonnaNeed It
Summary — about yourself
• Contribute to Open Source • You get the community you deserve
!
• Be an actor! • Speak publicly • Create the next disruption with software
!
• Your best asset is you • Invest in yourself • Think out of the box • Reinvent yourself
Summary — about your craft
!
• Be cautious with magic !
• Readability matters !
• Keep things simple !
• Don’t be afraid of reinventing the wheel
Summary — and…
!
• Have fun!
“ We must be very careful when giving advice to younger people:
sometimes they follow it
— Edgar Dijkstra
Thanks for your attention!