f# exchange keynote 2016

33

Upload: phillip-trelford

Post on 28-Jan-2018

338 views

Category:

Software


0 download

TRANSCRIPT

Page 1: F# eXchange Keynote 2016
Page 2: F# eXchange Keynote 2016

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

F# 1.1.11 IN 2006 TO F# 4 IN 2016

BABY SEAN (2007) FSHARPCONF – CH9 (2016)

Page 4: F# eXchange Keynote 2016

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

ASK ME ANYTHING

Page 6: F# eXchange Keynote 2016

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

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

B LO G O S P H E R E

Page 9: F# eXchange Keynote 2016

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

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

SERGEY TIHON’S F# WEEKLY

Page 12: F# eXchange Keynote 2016

F# ADVENT CALENDAR 2015

Page 13: F# eXchange Keynote 2016

N U M B E R S

Page 14: F# eXchange Keynote 2016

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

F# STARTUPS: JET.COM $570M RAISED

Page 16: F# eXchange Keynote 2016

F# ARCHITECTURE VISIBLE FROM SPACE

Page 17: F# eXchange Keynote 2016

F# USER GROUPS IN UK & EUROPE

Page 18: F# eXchange Keynote 2016

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

F# MACHINE LEARNING BOOKS…ARE LIKE BUSES

Page 20: F# eXchange Keynote 2016

L A N G U A G E

Page 21: F# eXchange Keynote 2016

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

DISCRIMINATED UNIONS:NAMED UNION FIELDS

Page 23: F# eXchange Keynote 2016

P L AT F O R M S

Page 24: F# eXchange Keynote 2016

PLATFORMS: .NET CORE

RUNTIMES

.Net

Mono

JS

Web

Assembly?

OpenCL

GPU

.Net Core

.NET CORE -> LINUX!! !

Page 25: F# eXchange Keynote 2016

PLATFORMS: FABLE

RUNTIMES

.Net

Mono

JS

Web

Assembly?

OpenCL

GPU

.Net Core

F# CODE DIRECT TO JS

Page 26: F# eXchange Keynote 2016

T O O L I N G

Page 27: F# eXchange Keynote 2016

VISUAL F# POWER TOOLS

Friends don’t let friends use Visual Studio without the Power Tools

Page 28: F# eXchange Keynote 2016

IONIDE: XPLAT IN ATOM & VS CODE

Page 29: F# eXchange Keynote 2016

TRY WEBSHARPER ONLINE

Page 30: F# eXchange Keynote 2016

FUN 3D: FUNSCRIPT

Page 31: F# eXchange Keynote 2016

S U M M A R Y

Page 32: F# eXchange Keynote 2016

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

Q U E S T I O N S