• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Programmation fonctionnelle avec f#
 

Programmation fonctionnelle avec f#

on

  • 1,626 views

Présentation d'introduction à la programmation fonctionnelle avec F# faite à la communauté .net de Montréal

Présentation d'introduction à la programmation fonctionnelle avec F# faite à la communauté .net de Montréal

Statistics

Views

Total Views
1,626
Views on SlideShare
1,621
Embed Views
5

Actions

Likes
0
Downloads
14
Comments
0

3 Embeds 5

http://www.linkedin.com 3
http://www.slashdocs.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Plusieurs sources de donnéesPlusieurs formatsPlusieurs plateformesMulti core
  • La composition de fonctions simples est la clé pour gérer la complexité de l’activité de développement.
  • Je ne veux pas vous convaincre d’apprendre F# à tout prixPas de démonstrations tape à l’œil avec du traitement asynchrone et parallèleDes exemples simples pour illustrer les conceptsUne utilisation concrètePrésentation de niveau 101 (académique)Pas de survol généralDu code simple
  • Je ne veux pas vous convaincre d’apprendre F# à tout prixPas de démonstrations tape à l’œil avec du traitement asynchrone et parallèleDes exemples simples pour illustrer les conceptsUne utilisation concrètePrésentation de niveau 101 (académique)Pas de survol généralDu code simple
  • DémoCréer une application console F# (FirstSetps)Dans program.fsAfficher HelloWorldExécuter la ligne Alt+#Paramétriser le nom (déduction du type de la fonction printfn)Intégration avec .NetLire le nom à la consoleUtiliser windowformsRefactorisationExtractmethodExtract classIntégration à C#Module -> classe statiqueReflector
  • Je ne veux pas vous convaincre d’apprendre F# à tout prixPas de démonstrations tape à l’œil avec du traitement asynchrone et parallèleDes exemples simples pour illustrer les conceptsUne utilisation concrètePrésentation de niveau 101 (académique)Pas de survol généralDu code simple
  • Je ne veux pas vous convaincre d’apprendre F# à tout prixPas de démonstrations tape à l’œil avec du traitement asynchrone et parallèleDes exemples simples pour illustrer les conceptsUne utilisation concrètePrésentation de niveau 101 (académique)Pas de survol généralDu code simple

Programmation fonctionnelle avec f# Programmation fonctionnelle avec f# Presentation Transcript

  • https://www.pyxis-tech.ca/confluence/download/attachments/17170588/template+open+office+pres.odp
    Introduction à F#
    Penser différemment
    1
  • 2
    Développer devient de plus en plus complexe…
    PFX
    Rx

    C# 2.0C# 3.0
    C# 4.0

  • 3
    Sans oublier le facteur humain
  • 4
    map (reducecomplexity)
    La programmation fonctionnelle permet de gérer cette complexité
  • 5
    La programmation fonctionnelle est une corde additionnelle à notre arc
    ASP.NET
    SQL
    POO
    ORM
    PF
    C#
    TDD
    Les défis de demain
    Programmation asynchrone
    Parallélisme
    « Mutations » de C#
  • 6
    Nous pouvons programmer de manière fonctionnelle en .Net
    C#
    F#
  • Débuter avec F#
    • Utiliser F#
    • Programmer avec des fonctions
    • Continuer l’apprentissage de F#
    7
  • Débuter avec F#
    • Utiliser F#
    • Programmer avec des fonctions
    • Continuer l’apprentissage de F#
    8
  • 9
    À propos de F#
    Langage de programmation générique et concis
    Langage hybride (fonctionnel, objet) de la plateforme .Net
    Peut être utilisé en mode interactif mais est fortement typé et intégré à .Net
    Caractéristiques intéressantes pour les objets, agents asynchrones, parallélisme et les unités de mesures
  • Démo: Découvrons F#
    La console interactive
    Les valeurs (primitives, fonctions, etc.)
    Une application F# dans Visual Studio
    Gestion des fichiers
    La syntaxe de base
    Les espaces sont importants
    La case différencie les valeurs
    ``Malgré les caractères %@!, ce nom de valeur est légal en F#.``
  • Débuter avec F#
    • Utiliser F#
    • Programmer avec des fonctions
    • Continuer l’apprentissage de F#
    11
  • 12
    La programmation fonctionnelle
    … est un paradigme de programmationqui considère le calcul en tant qu'évaluation de fonctions mathématiques et rejette le changement d'état et la mutation des données. Elle souligne l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
    http://fr.wikipedia.org/wiki/Programmation_fonctionnelle
    “Functional Programming in a nutshell is programming with functions… In functional programming, functions are not special; they are treated the same as data.”
    Brian Beckman
    http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads
  • La programmation impérative exige un contrôle des effets de bord
    13
    Synchronisation des effets de bord
    Système
    Classe
    Méthode
    X = X + 1
    Effet de bord
  • La programmation fonctionnelle permet un style déclaratif
    14
    let x = 1
    Déclarations
    let add a b = a + b
    let inc = add x
    add 21 21 val it : int = 42
    Applications de fonction
    add 1 val it : int -> int = <fun:it@10>
    inc 41
    val it : int = 42
  • Démo : idiomes de la programmation fonctionnelle
    15
    Valeurs immuables
    Structures de données immuables
    Tuples
    Listes
    Discriminated Union Type
    Fonctions récursives
    “Pattern matching”
    Utilisation des fonctions comme valeurs
    Fonctions d’ordre supérieur
  • Démo : un exemple complet
    16
    Analyse des indicateurs du développement de la banque mondiale
    Calcul de la surface couverte de forêt des différentes régions de la planète
  • Chaque style de programmation a ses forces et ses faiblesses
    17
  • Débuter avec F#
    • Utiliser F#
    • Programmer avec des fonctions
    • Continuer l’apprentissage de F#
    18
  • Pour continuer avec F#
    19
    FSI.exe
    Tutoriels MSDN
    Go to definition dans visual studio
    Lutz’ reflector
    http://cs.hubfs.net
    http://msdn.microsoft.com/en-us/fsharp/default.aspx
  • Livres
    20
  • Merci
    21
    Questions ?