🗊Презентация F# Succinct, Expressive, Functional

Нажмите для полного просмотра!
F# Succinct, Expressive, Functional, слайд №1F# Succinct, Expressive, Functional, слайд №2F# Succinct, Expressive, Functional, слайд №3F# Succinct, Expressive, Functional, слайд №4F# Succinct, Expressive, Functional, слайд №5F# Succinct, Expressive, Functional, слайд №6F# Succinct, Expressive, Functional, слайд №7F# Succinct, Expressive, Functional, слайд №8F# Succinct, Expressive, Functional, слайд №9F# Succinct, Expressive, Functional, слайд №10F# Succinct, Expressive, Functional, слайд №11F# Succinct, Expressive, Functional, слайд №12F# Succinct, Expressive, Functional, слайд №13F# Succinct, Expressive, Functional, слайд №14F# Succinct, Expressive, Functional, слайд №15F# Succinct, Expressive, Functional, слайд №16F# Succinct, Expressive, Functional, слайд №17F# Succinct, Expressive, Functional, слайд №18F# Succinct, Expressive, Functional, слайд №19F# Succinct, Expressive, Functional, слайд №20F# Succinct, Expressive, Functional, слайд №21F# Succinct, Expressive, Functional, слайд №22F# Succinct, Expressive, Functional, слайд №23F# Succinct, Expressive, Functional, слайд №24F# Succinct, Expressive, Functional, слайд №25F# Succinct, Expressive, Functional, слайд №26F# Succinct, Expressive, Functional, слайд №27F# Succinct, Expressive, Functional, слайд №28F# Succinct, Expressive, Functional, слайд №29F# Succinct, Expressive, Functional, слайд №30F# Succinct, Expressive, Functional, слайд №31F# Succinct, Expressive, Functional, слайд №32F# Succinct, Expressive, Functional, слайд №33F# Succinct, Expressive, Functional, слайд №34F# Succinct, Expressive, Functional, слайд №35F# Succinct, Expressive, Functional, слайд №36F# Succinct, Expressive, Functional, слайд №37F# Succinct, Expressive, Functional, слайд №38F# Succinct, Expressive, Functional, слайд №39F# Succinct, Expressive, Functional, слайд №40F# Succinct, Expressive, Functional, слайд №41F# Succinct, Expressive, Functional, слайд №42F# Succinct, Expressive, Functional, слайд №43F# Succinct, Expressive, Functional, слайд №44F# Succinct, Expressive, Functional, слайд №45

Вы можете ознакомиться и скачать презентацию на тему F# Succinct, Expressive, Functional. Доклад-сообщение содержит 45 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





F#
Succinct, Expressive, Functional
The F# Team
Microsoft Developer Division
Microsoft Research
Описание слайда:
F# Succinct, Expressive, Functional The F# Team Microsoft Developer Division Microsoft Research

Слайд 2





Topics
What is F# about?
Some Simple F# Programming
A Taste of Parallel/Reactive with F#
Описание слайда:
Topics What is F# about? Some Simple F# Programming A Taste of Parallel/Reactive with F#

Слайд 3





What is F# about?


Or: Why is Microsoft investing in functional programming anyway?
Описание слайда:
What is F# about? Or: Why is Microsoft investing in functional programming anyway?

Слайд 4





Simplicity
Описание слайда:
Simplicity

Слайд 5





Economics
Описание слайда:
Economics

Слайд 6





Programmer Productivity
Описание слайда:
Programmer Productivity

Слайд 7





Simplicity
Описание слайда:
Simplicity

Слайд 8





Code!
//F#
open System
let a = 2
Console.WriteLine a
Описание слайда:
Code! //F# open System let a = 2 Console.WriteLine a

Слайд 9





Pleasure
Pleasure
Описание слайда:
Pleasure Pleasure

Слайд 10





Pleasure
Pleasure
Описание слайда:
Pleasure Pleasure

Слайд 11





Pleasure
Pleasure
Описание слайда:
Pleasure Pleasure

Слайд 12





Economics
Описание слайда:
Economics

Слайд 13





Programmer Productivity
Описание слайда:
Programmer Productivity

Слайд 14





People
Описание слайда:
People

Слайд 15





F#:  Influences
Описание слайда:
F#: Influences

Слайд 16





F#: Combining Paradigms
Описание слайда:
F#: Combining Paradigms

Слайд 17





F#: The Combination Counts!
Описание слайда:
F#: The Combination Counts!

Слайд 18





The Path to Mastering F#
Описание слайда:
The Path to Mastering F#

Слайд 19





Quick Tour
Описание слайда:
Quick Tour

Слайд 20





Quick Tour
Описание слайда:
Quick Tour

Слайд 21





Orthogonal & Unified Constructs
Let “let” simplify your life…
Описание слайда:
Orthogonal & Unified Constructs Let “let” simplify your life…

Слайд 22





Demo: Let’s WebCrawl…
Описание слайда:
Demo: Let’s WebCrawl…

Слайд 23





Orthogonal & Unified Constructs
Functions: like delegates + unified and simple
Описание слайда:
Orthogonal & Unified Constructs Functions: like delegates + unified and simple

Слайд 24





F# - Functional
let f x = x+1

let pair x = (x,x)

let fst (x,y) = x

let data = (Some [1;2;3], Some [4;5;6])
match data with 
| Some(nums1), Some(nums2) -> nums1 @ nums2
| None, Some(nums)   -> nums
| Some(nums), None   -> nums
| None, None         -> failwith "missing!"
Описание слайда:
F# - Functional let f x = x+1 let pair x = (x,x) let fst (x,y) = x let data = (Some [1;2;3], Some [4;5;6]) match data with | Some(nums1), Some(nums2) -> nums1 @ nums2 | None, Some(nums) -> nums | Some(nums), None -> nums | None, None -> failwith "missing!"

Слайд 25





F# - Functional
List.map		Seq.fold

Array.filter   Lazy.force		Set.union

Map    LazyList   Events   Async...

[ 0..1000 ]      
[ for x in 0..10 -> (x, x * x) ]
[| for x in 0..10 -> (x, x * x) |]
seq { for x in 0..10 -> (x, x * x) }
Описание слайда:
F# - Functional List.map Seq.fold Array.filter Lazy.force Set.union Map LazyList Events Async... [ 0..1000 ] [ for x in 0..10 -> (x, x * x) ] [| for x in 0..10 -> (x, x * x) |] seq { for x in 0..10 -> (x, x * x) }

Слайд 26





Immutability the norm…
Описание слайда:
Immutability the norm…

Слайд 27





In Praise of Immutability
Immutable objects can be relied upon
Immutable objects can transfer between threads
Immutable objects can be aliased safely
Immutable objects lead to (different) optimization opportunities
Описание слайда:
In Praise of Immutability Immutable objects can be relied upon Immutable objects can transfer between threads Immutable objects can be aliased safely Immutable objects lead to (different) optimization opportunities

Слайд 28





F# - Lists
open System.IO
let rec allFiles(dir) =
  [ for file in Directory.GetFiles(dir) do 
        yield file 
    for sub in Directory.GetDirectories(dir) do
        yield! allFiles(sub) ]

allFiles(@"C:\Demo")
Описание слайда:
F# - Lists open System.IO let rec allFiles(dir) = [ for file in Directory.GetFiles(dir) do yield file for sub in Directory.GetDirectories(dir) do yield! allFiles(sub) ] allFiles(@"C:\Demo")

Слайд 29





F# - Sequences
open System.IO
let rec allFiles(dir) =
  seq 
   { for file in Directory.GetFiles(dir) do 
        yield file 
     for sub in Directory.GetDirectories(dir) do
        yield! allFiles(sub) }

allFiles(@"C:\WINDOWS") 
    |> Seq.take 100 
    |> show
Описание слайда:
F# - Sequences open System.IO let rec allFiles(dir) = seq { for file in Directory.GetFiles(dir) do yield file for sub in Directory.GetDirectories(dir) do yield! allFiles(sub) } allFiles(@"C:\WINDOWS") |> Seq.take 100 |> show

Слайд 30





Weakly Typed? Slow?
//F#
#light
open System
let a = 2
Console.WriteLine(a)
Описание слайда:
Weakly Typed? Slow? //F# #light open System let a = 2 Console.WriteLine(a)

Слайд 31


F# Succinct, Expressive, Functional, слайд №31
Описание слайда:

Слайд 32





Objects
Описание слайда:
Objects

Слайд 33





F# - Objects + Functional
type Vector2D(dx:double,dy:double) =

   member v.DX = dx
   
   member v.DY = dy
   
   member v.Length = sqrt(dx*dx+dy*dy)
   
   member v.Scale(k) = Vector2D(dx*k,dy*k)
Описание слайда:
F# - Objects + Functional type Vector2D(dx:double,dy:double) = member v.DX = dx member v.DY = dy member v.Length = sqrt(dx*dx+dy*dy) member v.Scale(k) = Vector2D(dx*k,dy*k)

Слайд 34





F# - Objects + Functional
type Vector2D(dx:double,dy:double) =

   let norm2 = dx*dx+dy*dy

   member v.DX = dx
   
   member v.DY = dy
   
   member v.Length = sqrt(norm2)
   
   member v.Norm2 = norm2
Описание слайда:
F# - Objects + Functional type Vector2D(dx:double,dy:double) = let norm2 = dx*dx+dy*dy member v.DX = dx member v.DY = dy member v.Length = sqrt(norm2) member v.Norm2 = norm2

Слайд 35





F# - Objects + Functional
type HuffmanEncoding(freq:seq<char*int>) =
   
   ...
   < 50 lines of beautiful functional code>
   ...

   member x.Encode(input: seq<char>) = 
        encode(input)
 
   member x.Decode(input: seq<char>) = 
        decode(input)
Описание слайда:
F# - Objects + Functional type HuffmanEncoding(freq:seq<char*int>) = ... < 50 lines of beautiful functional code> ... member x.Encode(input: seq<char>) = encode(input) member x.Decode(input: seq<char>) = decode(input)

Слайд 36





F# - Objects + Functional
type Vector2D(dx:double,dy:double) =

   let mutable currDX = dx

   let mutable currDX = dy

   member v.DX = currDX
   
   member v.DY = currDY
   
   member v.Move(x,y) = 
        currDX <- currDX+x
        currDY <- currDY+y
Описание слайда:
F# - Objects + Functional type Vector2D(dx:double,dy:double) = let mutable currDX = dx let mutable currDX = dy member v.DX = currDX member v.DY = currDY member v.Move(x,y) = currDX <- currDX+x currDY <- currDY+y

Слайд 37





F# Async/Parallel
Описание слайда:
F# Async/Parallel

Слайд 38





The Solution
Good Architecture
Know your techniques
Know your requirements
Know your  limits (CPU, disk, network, latency)
Translate Good Architecture into Good Code with F#
A great platform
A massive increase in isolation and immutability
A massive reduction in mutation
Описание слайда:
The Solution Good Architecture Know your techniques Know your requirements Know your limits (CPU, disk, network, latency) Translate Good Architecture into Good Code with F# A great platform A massive increase in isolation and immutability A massive reduction in mutation

Слайд 39





Async: Simple Examples
Описание слайда:
Async: Simple Examples

Слайд 40





DEMO
Описание слайда:
DEMO

Слайд 41





8 Ways to Learn
FSI.exe

Samples Included

Go to definition

Lutz’ Reflector
Описание слайда:
8 Ways to Learn FSI.exe Samples Included Go to definition Lutz’ Reflector

Слайд 42





Books about F#
Описание слайда:
Books about F#

Слайд 43





Getting F#
September 2008: CTP released
F# will be a supported language in 
Visual Studio 2010 
Next stop: Visual Studio 2010 Beta 1
				Look for it soon!
Описание слайда:
Getting F# September 2008: CTP released F# will be a supported language in Visual Studio 2010 Next stop: Visual Studio 2010 Beta 1 Look for it soon!

Слайд 44





Questions & Discussion
Описание слайда:
Questions & Discussion

Слайд 45


F# Succinct, Expressive, Functional, слайд №45
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию