From 01e90c5f37f57068fe2c695a0b72365a25dc0765 Mon Sep 17 00:00:00 2001 From: Johan Thelin Date: Wed, 25 Mar 2020 08:29:13 +0100 Subject: [PATCH] Painter --- 2020/images/speaker-spainter.png | Bin 0 -> 18899 bytes 2020/index.html | 17 +++++++-- 2020/schedule.html | 9 ++++- 2020/speakers-and-talks.html | 58 +++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 2020/images/speaker-spainter.png diff --git a/2020/images/speaker-spainter.png b/2020/images/speaker-spainter.png new file mode 100644 index 0000000000000000000000000000000000000000..1043da7690aeacb6dee3cba5fb38b61f7923cc3f GIT binary patch literal 18899 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 literal 0 HcmV?d00001 diff --git a/2020/index.html b/2020/index.html index a6c9497..b4ca933 100644 --- a/2020/index.html +++ b/2020/index.html @@ -248,6 +248,19 @@ + + + + + + + + + - -

Tuesday March 31

diff --git a/2020/schedule.html b/2020/schedule.html index 74cdbfe..8a14c1e 100644 --- a/2020/schedule.html +++ b/2020/schedule.html @@ -168,8 +168,15 @@ All sessions include time for Q&A and to move between rooms.

-
T.B.D.
+ + +
Functional Programming with JavaScript
+
Simon Painter
+
+ + + diff --git a/2020/speakers-and-talks.html b/2020/speakers-and-talks.html index 1cf404a..f668da2 100644 --- a/2020/speakers-and-talks.html +++ b/2020/speakers-and-talks.html @@ -624,6 +624,64 @@ + +
+
+
Simon Painter
+
+
+
Simon Painter
+
Functional Programming with JavaScript
+ + + +
+ Functional Programming is becoming increasingly popular and relevant with each year that goes by. With so much discussion around languages such as F#, Haskell and Erlang, it can seem as though getting started with Functional programming would mean first learning a whole new syntax...but what if it didn't? +
+ +
+ Using just a few JavaScript libraries, such as RamdaJS, developers can implement some of the most powerful patterns and techniques from the world of functional programming? +
+ +
+ This talk will demonstrate how, using ES6 and a few extra libraries, we can write Functional code that is: +
+ +
+
  • More robust
  • Easier to read
  • Easier to maintain
+
+ +
+ This talk might be of interest to anyone looking into moving to a new platform, or in improving the scalability of an existing application, or even just interested in seeing what Functional Programming is all about, but all within the comfort of a familiar language. +
+ +
+ We might even attempt the impossible, and explain what a Monad is! +
+ + + +
+ I've been working as a .NET developer for over 13 years now in a variety of industries including government, retail and manufacturing. But as a coder, I've been playing with making computers do whatever my crazed imagination could devise since I was old enough to read my Dad's copy of the ZX Spectrum BASIC coders manual. +
+ +
+ I've been speaking about Functional C# at various user groups and conferences around the UK, USA, and India, and am particularly interested in seeing just how far we can push the capabilities of C#. +
+ +
+ When I'm not coding, or running after my two small children, I have been known to enjoy the classic series of Doctor Who, Fighting Fantasy Gamebooks, Cryptic Crosswords, and rather more coffee than is probably good for me. +
+ +
+
+