the creative polyglot
TRANSCRIPT
The creative polyglot
(“developer”)Wouter Groeneveld
https://twitter.com/woutergroenev
https://github.com/wgroeneveld
Why? (1)
Dreyfus model of skill acquisition:It takes 10 years to master something.
Would you like to be a master C# dev,Or a master software dev?
Polyglot – examples (1)
Example java VS C#, enumshttp://brainbaking.com/being-a-polyglot-
programmer-matters-part-1/
Polyglot – examples (2)
Example java VS C#, strategy subclassinghttp://brainbaking.com/being-a-polyglot-
programmer-matters-part-2/
Polyglot – examples (3)
With() in javascript & groovy to create DSLshttp://brainbaking.com/enhancing-the-builder-
pattern-with-closures/
Polyglot – examples (4)
Reflection in C# (MethodBase.GetCurrentMethod() for example) vs
in Java (urgh)
Creativity – constraints (1)
“domain” logic on interfaceshttp://brainbaking.com/faking-domain-logic/
Creativity – meta programming (2)
(mis)-use of annotations to reduce plumbingC# Nhibernate's event lifecycle vs
Java Hibernate event lifecycle
Creativity – constraints (2)
Nhibernate's Session.BeginTransaction() - nested.(Wrapping API objects)
Creativity – meta programming (1)
(mis)-use of annotations to reduce plumbinghttp://brainbaking.com/metaprogramming-instead-
of-duplication/
Stealing is okay
As long as you know how it works!
It doesn't hurt to dig deeperKeep digging until you hit rock bottom