68
CODER F#NCTIONNEL Nicolas Verinaud

Coder F#nctionnel

Embed Size (px)

Citation preview

Page 1: Coder F#nctionnel

CODER F#NCTIONNELNicolas Verinaud

Page 2: Coder F#nctionnel
Page 3: Coder F#nctionnel
Page 4: Coder F#nctionnel

RETOUR <

] F#UTUR

Page 5: Coder F#nctionnel

Gare Aux

Side EffectsMap

FilterLambda

Page 6: Coder F#nctionnel

C#

Page 7: Coder F#nctionnel

C#

Page 8: Coder F#nctionnel

C#

Page 9: Coder F#nctionnel

C#

Page 10: Coder F#nctionnel

C#

Page 11: Coder F#nctionnel

C#

Page 12: Coder F#nctionnel

C#

Page 13: Coder F#nctionnel

C#

Page 14: Coder F#nctionnel

SOLIDQuand

Est poussé à l’extrême

Page 15: Coder F#nctionnel

F#

Page 16: Coder F#nctionnel

F#

Oui, fun est un mot-clé en F# ! :-)

Page 17: Coder F#nctionnel

F#

Page 18: Coder F#nctionnel

F#

Page 19: Coder F#nctionnel

F#

Page 20: Coder F#nctionnel

F#

Page 21: Coder F#nctionnel

IMMUABILITÉ &

EGALITÉ

Page 22: Coder F#nctionnel

C#

Page 23: Coder F#nctionnel

C#

Page 24: Coder F#nctionnel

C#

Page 25: Coder F#nctionnel

C#

Page 26: Coder F#nctionnel

F#

Page 27: Coder F#nctionnel

F#

Page 28: Coder F#nctionnel

F#

Page 29: Coder F#nctionnel

F#

Page 30: Coder F#nctionnel

C#

Page 31: Coder F#nctionnel

C#

Page 32: Coder F#nctionnel

C#

Page 33: Coder F#nctionnel

F#

Page 34: Coder F#nctionnel

F#

Page 35: Coder F#nctionnel

COMPOSITION

Mort à l’

Vive laHeritage

Page 36: Coder F#nctionnel

F#

Page 37: Coder F#nctionnel

F#

Page 38: Coder F#nctionnel

F#

Page 39: Coder F#nctionnel

F#

Page 40: Coder F#nctionnel

F#

Page 41: Coder F#nctionnel

DOMAIN SPECIFIC

LANGUAGE

Page 42: Coder F#nctionnel

F#

Page 43: Coder F#nctionnel

F#

Page 44: Coder F#nctionnel

F#

Page 45: Coder F#nctionnel

F#

Page 46: Coder F#nctionnel

Null Reference

“My Billion Dollar Mistake” – Tony Hoare

Page 47: Coder F#nctionnel

F#

Page 48: Coder F#nctionnel

F#

Page 49: Coder F#nctionnel

F#

Page 50: Coder F#nctionnel

F#

Page 51: Coder F#nctionnel

F#

Page 52: Coder F#nctionnel

OMG !

F#

Page 53: Coder F#nctionnel

F#

Page 54: Coder F#nctionnel

C#

F#

Page 55: Coder F#nctionnel

NON REPRESENTABLE

Rendre les États Illégaux

Page 56: Coder F#nctionnel

F#

Page 57: Coder F#nctionnel

F#

Page 58: Coder F#nctionnel

F#

Page 59: Coder F#nctionnel

F#

Page 60: Coder F#nctionnel

TYPE PROVIDERSet F# dans ma boite !

Page 61: Coder F#nctionnel

DEMO TIME !

Page 62: Coder F#nctionnel

* Try F# ! —> http://www.tryfsharp.org/ * F# pour les développeurs “non

fonctionnels” —> http://fsharpforfunandprofit.com/

* La communauté —> http://fsharp.org/

Pour aller plus loin…

Page 64: Coder F#nctionnel

QUESTIONS ?Avez-vous des

Page 65: Coder F#nctionnel

* Ten things F# can do, and C# can't http://tv.ssw.com/5160/ten-things-f-sharp-can-do-and-c-sharp-cant-liam-mclennan-ddd-brisbane-2013

* Make illegal states unrepresentable ! https://vimeo.com/144800642

* F# for fun and profit http://fsharpforfunandprofit.com

* From SOLID to Functional : http://www.infoq.com/presentations/solid-oop-fp

* What Is Functional Programing ? http://blog.jenkster.com/2015/12/what-is-functional-programming.html

* Which Programming Languages Are Functional ? http://blog.jenkster.com/2015/12/which-programming-languages-are-functional.html

* F# as our day job by 2016 https://vimeo.com/132194547

* Null References : The Billion Dollar Mistake - Tony Hoare http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare

Sources et Inspirations

Page 66: Coder F#nctionnel

* “OMG” by muffinbasket [CC BY-NC-ND 2.0] (https://www.flickr.com/photos/48221134@N08/4958245676)

* “Orange County Archives” by Dyer Rd., looking east at Main St., Santa Ana, May 1956 [CC BY 2.0] (https://www.flickr.com/photos/30346812@N07/14632402586)

* “Not What I Expected To See” by Bart [CC BY-NC 2.0] (https://www.flickr.com/photos/17731548@N00/3262688866)

Crédits Photo

Page 67: Coder F#nctionnel

Télécharger cette présentation

coder-fonctionnel.nverinaud.com

Page 68: Coder F#nctionnel

Télécharger le code de la démo

http://github.com/nverinaud/coder-fonctionnel