f# exchange keynote 2016
TRANSCRIPT
![Page 1: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/1.jpg)
![Page 2: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/2.jpg)
F # 4 E Y E F O R T H E F # 1 . 1 . 1 1 G U Y
P H I L T R E L F O R D
F # E X C H A N G E 2 0 1 6
S K I L L S M A T T E R , L O N D O N
![Page 3: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/3.jpg)
F# 1.1.11 IN 2006 TO F# 4 IN 2016
BABY SEAN (2007) FSHARPCONF – CH9 (2016)
![Page 4: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/4.jpg)
BACK ANOTHER DECADE TO 1995
Programming Languages appearing in
1995:
• PHP
• Java
• JavaScript
• Ruby*
• OCaml**
* Also a codename for VB in 91
** Caml Special Light was released in 1995, OCaml was a year later
![Page 5: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/5.jpg)
ASK ME ANYTHING
![Page 6: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/6.jpg)
T E A C H Y O U R S E L F P R O G R A M M I N G I N T E N Y E A R S
Get interested in programming,
and do so because it is fun.
Talk with other programmers; read
other programs.
Work on projects with other
programmers.
Work on projects after other
programmers.
Learn at least a half
dozen programming languages.
Remember that there is a
"computer" in "computer science".
![Page 7: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/7.jpg)
F # 1 . 1 . 1 1 R CN O W A V A I L A B L E
let ArraySample() =
let numLetters = 26 in
let results = Array.create numLetters 0 in
let data = "The quick brown fox" in
for i = 0 to data.Length - 1 do
let c = data.Chars(i) in
let c = Char.ToUpper(c) in
if c >= 'A' && c <= 'Z' then begin
let i = Char.code c - Char.code 'A' in
results.[i] <- results.[i] + 1
end
done;
printf "done!\n"
Don Syme’s WebLog – May
2016
As reported by the Hub
Father, F# 1.1.11.7 is
available. This is a “release
candidate”, which means we put
it up to see if it meets the
standards of those who
download and install it.
Source: https://blogs.msdn.microsoft.com/dsyme/2006/08/23/lightweight-syntax-option-in-f-1-1-12-3/
![Page 8: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/8.jpg)
B LO G O S P H E R E
![Page 9: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/9.jpg)
H U B F S :T H E P L A C E F O R F #
HubFS was run by the
mysterious optionScalper from
2005 to 2011, implemented an
ASP.Net it boasted over 100,000
members.
Now redirects to Adam
Granicz’s FPish “Online
Community of Functional
Developers” powered by
WebSharper.
![Page 10: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/10.jpg)
R I C K M I N E R I C H ’ SD E V E L O P M E N TW O N D E R L A N D
The web site is no more and the
Wayback Machine and Google
do not have cached pages as
they were disallowed by the
robots.txt.
Baidu had no such issues…
![Page 11: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/11.jpg)
SERGEY TIHON’S F# WEEKLY
![Page 12: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/12.jpg)
F# ADVENT CALENDAR 2015
![Page 13: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/13.jpg)
N U M B E R S
![Page 14: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/14.jpg)
TARGET OVER 2.2 BILLION DEVICES NATIVELY WITH F#
NATIVELY VIA .NET & MONO
• Android
• iOS
• Linux
• Mac
• Windows
• Raspberry Pi
• etc.
AND DON’T FORGET VIA WEB
Everything else with
• Fable
• Freya
• FunScript
• Suave
• WebSharper
• etc.
![Page 15: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/15.jpg)
F# STARTUPS: JET.COM $570M RAISED
![Page 16: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/16.jpg)
F# ARCHITECTURE VISIBLE FROM SPACE
![Page 17: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/17.jpg)
F# USER GROUPS IN UK & EUROPE
![Page 18: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/18.jpg)
F#UNCTIONAL LONDONERS
• Founded Feb 2010
• 1000+ Members
• Meets every 2 weeks
• Topics include
– Machine Learning
– Finance
– Games
– Web
http://meetup.com/fsharplondon
![Page 19: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/19.jpg)
F# MACHINE LEARNING BOOKS…ARE LIKE BUSES
![Page 20: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/20.jpg)
L A N G U A G E
![Page 21: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/21.jpg)
F# VERSIONSF#
2 • Active Patterns
• Units of Measure
• Async & Agents
• Computation
ExpressionsF#
3 • Type Providers
• Linq Queries
• Auto-properties
• Named Union
Fields
F# 4 • Library unification
• Performace
optimizations
• Community-driven
![Page 22: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/22.jpg)
DISCRIMINATED UNIONS:NAMED UNION FIELDS
![Page 23: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/23.jpg)
P L AT F O R M S
![Page 24: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/24.jpg)
PLATFORMS: .NET CORE
RUNTIMES
.Net
Mono
JS
Web
Assembly?
OpenCL
GPU
.Net Core
.NET CORE -> LINUX!! !
![Page 25: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/25.jpg)
PLATFORMS: FABLE
RUNTIMES
.Net
Mono
JS
Web
Assembly?
OpenCL
GPU
.Net Core
F# CODE DIRECT TO JS
![Page 26: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/26.jpg)
T O O L I N G
![Page 27: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/27.jpg)
VISUAL F# POWER TOOLS
Friends don’t let friends use Visual Studio without the Power Tools
![Page 28: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/28.jpg)
IONIDE: XPLAT IN ATOM & VS CODE
![Page 29: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/29.jpg)
TRY WEBSHARPER ONLINE
![Page 30: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/30.jpg)
FUN 3D: FUNSCRIPT
![Page 31: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/31.jpg)
S U M M A R Y
![Page 32: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/32.jpg)
F# 4 FOR F# 1.1.11
• COMMUNITY HAS GROWN!
• HUGE ARRAY OF LEARNING MATERIAL NOW AVAILABLE!
• CUTTING EDGE LANGUAGE FEATURES!
• TARGET BILLIONS OF DEVICES
![Page 33: F# eXchange Keynote 2016](https://reader031.vdocuments.site/reader031/viewer/2022030318/5a6d81e47f8b9acc418b5e57/html5/thumbnails/33.jpg)
Q U E S T I O N S