the creative polyglot

19
The creative polyglot (“developer”) Wouter Groeneveld https://twitter.com/woutergroenev https://github.com/wgroeneveld

Upload: wouter-groeneveld

Post on 05-Aug-2015

63 views

Category:

Software


0 download

TRANSCRIPT

The creative polyglot

(“developer”)Wouter Groeneveld

https://twitter.com/woutergroenev

https://github.com/wgroeneveld

What is creativity

...

What is being a polyglot

...

When you're a hacker

Define “hacking”: tirez votre plan

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)

Polyglot – examples (5)

Generics in Java vs C#

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

Polyglot – examples (6)

PostSharp & Spring AOPVery easy to work with one if you know the other

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

Don't copy that floppy

Without learning how it works!

So... What are you going to learn next?