progressive f# tutorials nyc don syme on keynote f# in the open source world

Download Progressive f# tutorials nyc don syme on keynote f# in the open source world

If you can't read please download the document

Upload: skills-matter

Post on 16-Apr-2017

2.567 views

Category:

Technology


0 download

TRANSCRIPT

Welcome!
Wendy Devolder, SkillsMatter



F# in the Open Source World

@dsyme, Principal Researcher, Microsoft ResearchF# Community Contributor

This talk has some slides provided by other people

Ill try to remember to tell you when thats the case

Agenda

A tour through our broadening horizons

Ecosystems, Exosystems and The Digital World

Some initial thoughts on a new F# open initiative

Part I

F# is changingin subtle but important ways

F# runs on many platforms

F# is for Windows

Overview

F# is changingin subtle but important ways

F# has many contributors

Microsoft makes F#

Overview

F# is changingin subtle but important ways

F# isone language with many tools

F# is part of Visual Studio

Overview

F# is changingin subtle but important ways

Many perspectiveshttp://fsharp.org

One perspective(Microsofts)http://msdn.microsoft.com

Old think

F# LanguageVisual F# Tools

Visual Studio, ..NET, SDKs, Tools

fssnip.net

tryfs.orgfsharpforfunandprofit.comtryfs.org

Xamarin Studio

fpish.net

F# Open SourceGroup

F# Community Groups

tryfsharp.org

F# Software Foundation

New think

http://fsharp.org

Why do Microsoft contribute to F#?

functional-first
=
simple code to solve complex problems
=
improved time-to-market for code-heavy programming

better programmability
=
better platforms
=
make money

functional-first
=
simple code

Lets just remind ourselves about that

Now lets look more broadly

Tour: Core Components

F# open source group

fsharp.github.com

e.g. F# Compiler Open Edition

F# 3.0fsharp.github.com/fsharpApache 2.0 licenseMac, Linux, Windows, Browsers, Android, iOSCompiler, Library, Build,
F# Interactive, Compiler APIRun by the F# Open Source Groupfsharp.github.com/fsharp

Tour: Libraries and Packages

Ecosystem Exosystem

nuget.org

11,500 unique packages

Windows, Mac, Linux

www.nuget.org

FSharp.Data
FSharp.Charting
FSharpx
ExtLib

Latest news: Data Frames for F#

BlueMountain Capital, contributing to F# open source work

Tour: IDEs

F# in Emacs

https://github.com/fsharp/fsharpbinding/

Fantomas
https://github.com/dungpa/fantomas/

Ctrl-K Ctrl-F Code Formatting for F#

FSharpBinding

F# AddIn for MonoDevelop and Xamarin Studio

https://github.com/fsharp/fsharpbinding/

New: Tsunami Scripting Tools

http://tsunami.io

demo videos

Can also be embedded, consulting available
(contact them)

Upcoming:CloudSharper

Copyright 2004-2013 IntelliFactory

F# Development Environment in the Cloud

Full F# language support

Multi-project solutions

Web and mobile Apps

Syntax highlighting

On the fly type checking

Interactive exploration

Integration with data

Support for type providers

http://cloudsharper.com

Tour: Web and Service Programming

Demo: F# + ASP.NET in Xamarin Studio

F# to JS via F# quotations

Community made, open-source

Open source license

TypeScript Type Provider for interop

Demo: FunScript

www.servicestack.net

Mature, enterprise-ready

Write all your server+client code in F#

Get a complete web or mobile application

Interface with any client-side JS library via F#

Powerful functional web abstractions

Automatic resource management

Safe URLs, type-safe URLs

and much-much more

WebSharper

Copyright 2004-2013 IntelliFactory

Develop applications with

Less code - 50-90% less Quicker to develop on average we find 2-3x Easier to maintain Significant $$ savings

Web and Mobile Framework for F#

http://websharper.com#websharper

Tour: Cloud Programming

Amazon Web Services .NET SDKs

http://aws.amazon.com/tools

https://github.com/aws (Apache 2.0)

Azure .NET SDKs

http://www.windowsazure.com

https://github.com/WindowsAzure/ (Apache 2.0)

http://m-brace.net

A big data framework for private and public clouds

Tour: Building, Mocking, Testing,

FAKE, Moq, Foq, Nunit, XUnit, TestSpec, FsUnit,

Tour: GPGPU Programming

search on nuget for GPU or CUDA!search on google for C# GPGPU

Alea.cuBase

Complete solution to develop CUDA accelerated GPU applications in .NET

Based on LLVM and CUDA 5 technology

Uses F# code quotation

Source code solution

No wrappers, no post build process to transform IL code

Our base technology for GPU projects

Dynamic code generation

GPU algorithmscripting

Industry gradeperformance

Rapiddevelopment

Solid frameworkfor reusability

Advanced CUDA
programming

Tour: Math and Statistics Packages

See http://fsharp.orgSearch on nuget for statistics

Math.NET, ExtremeOptimization, F# for Numerics, FCore, NMath,

Math.NET Numerics

A classic F# exosystem project

Some latest news

Part I: Summary

F# is open source, cross-platform with many contributors

The core compiler and library are done at Microsoft using a code drop model

The fsharp.org community are OK with that

The F# Exosystem is big, rich, active and multi-faceted

Part II
From Broad, to Really, Really Broad

Recap: The Information Revolution

All your types are belong to us.

types

SQL

01/10/13

CSV

01/10/13

JSON

01/10/13

XML

01/10/13

OData

01/10/13

Hadoop/Hive

01/10/13

World Bank

01/10/13

Azure Data Market

01/10/13

WSDL

01/10/13

WMI

01/10/13

Freebase

01/10/13

R

01/10/13

TypeScript

01/10/13

Matlab

01/10/13

Update: RProvider

BlueMountain Capital

Open source, commercially sponsored community provider for interop with R

discovers installed R packages

Access > 2,000 R packages

projects them as .NET namespaces

underneath the parent namespace RProvider

r provider f#

Demo: F# to R

Part III
Concluding Thoughts

.NET + F# Compiler + LibraryLibraryLibraryLibraryLibraryLibraryLibraryCurrent Situation

.NET + F# Compiler + LibraryLibraryOpenLibraryOpenLibraryOpenLibraryLibraryFuture Situation?

FBase

.NET + F# Compiler + LibraryLibraryMath.NET NumericsFSharp.DataFSharp.ChartingExtLib v2RxLibraryFuture Situation?

FBaseCharacteristics?Open Source and Free

Multi Platform

Approved by FSF Working Group(s)

Just a Combination

Elements Designed for Coherence

One Combined Nuget Package

Stable/Beta/Alpha Channels

Clear License(s)

No Silly Duplication of .NET/Mono

To discuss:

Is this the right way forward?
If so, could you be involved?
How would we make this happen?
What other design principles?
Can you contribute to components today?

Through the wonderful lens of FP

Originally .NET+Visual Studio

Now a broader, community-led vision

F# is about about leveraging and integrating external functionality F# as a Language: FF + interop

F# at Microsoft: tooling, platforms, data

F# broadly: many, many things going on!

Next Directions?Summary




fsharp.org





Questions?

;

105

352

601

1116

1628

2647

4678

Click to edit the title text formatClick to edit Master title style

Click to edit the title text formatClick to edit Master title style

Click to edit the title text formatClick to edit Master title style

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level

Seventh Outline LevelClick to edit Master text styles

Second level

Third level

Fourth level

Fifth level

Click to edit the title text formatClick to edit Master title style

Click to edit the title text formatClick to edit Master title style

Click to edit the title text formatClick to edit Master title style

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level

Seventh Outline LevelClick to edit Master text styles

Second level

Third level

Fourth level

Fifth level

Click to edit the title text formatClick to edit Master title style

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline Level

Seventh Outline LevelClick to edit Master text styles

Second level

Third level

Fourth level

Fifth level

Click to edit the title text formatClick to edit Master title style

01/10/13