Vers des langues de programmation ?
                SudWeb 2011

      Nicolas Dubois - @duboisnicolas
                  Lightning Talk


          Vendredi 27 mai 2011




           Nicolas Dubois   Vers des langues de programmation ?
Préambule




  Cette présentation est ma nouvelle arme absolue pour
  endormir mes enfants en moins de 5 minutes le soir !




                      Nicolas Dubois   Vers des langues de programmation ?
Préambule




  Cette présentation est ma nouvelle arme absolue pour
  endormir mes enfants en moins de 5 minutes le soir !




                      Nicolas Dubois   Vers des langues de programmation ?
Préambule




  Bon courage !




                  Nicolas Dubois   Vers des langues de programmation ?
Question initiale
Paradoxe




    Question initiale
    Pourquoi faut-il plusieurs années d’expérience sur un langage
    de programmation ?




                         Nicolas Dubois   Vers des langues de programmation ?
Définition d’un langage


  Définition
  Langage = Syntaxe + Sémantique

  Exemple de langage
    Syntaxe :   p u b l i c c l a s s A extends B {
                       // Some c o d e . . .
                }

  Sémantique : définition d’une classe d’objet A qui étend la
              classe d’objet B.




                           Nicolas Dubois   Vers des langues de programmation ?
Définition d’un langage


  Définition
  Langage = Syntaxe + Sémantique

  Exemple de langage
    Syntaxe :   p u b l i c c l a s s A extends B {
                       // Some c o d e . . .
                }

  Sémantique : définition d’une classe d’objet A qui étend la
              classe d’objet B.




                           Nicolas Dubois   Vers des langues de programmation ?
Définition d’un langage de programmation



  Définition
  Langage = Syntaxe + Sémantique

  Définition
  Langage de programmation = Syntaxe + Sémantique + ?




                    Nicolas Dubois   Vers des langues de programmation ?
Définition d’un langage de programmation



  Définition
  Langage = Syntaxe + Sémantique

  Définition
  Langage de programmation = Syntaxe + Sémantique + ?




                    Nicolas Dubois   Vers des langues de programmation ?
Contexte



  Assertion : « Je maîtrise PHP »
    1 Environnement de développement ;
    2 Environnement de production ;
    3 API ;
    4 Écosystème ;
    5 La communauté liée au langage.




                     Nicolas Dubois   Vers des langues de programmation ?
Contexte



  Assertion : « Je maîtrise PHP »
    1 Environnement de développement ;
    2 Environnement de production ;
    3 API ;
    4 Écosystème ;
    5 La communauté liée au langage.




                     Nicolas Dubois   Vers des langues de programmation ?
Contexte



  Assertion : « Je maîtrise PHP »
    1 Environnement de développement ;
    2 Environnement de production ;
    3 API ;
    4 Écosystème ;
    5 La communauté liée au langage.




                     Nicolas Dubois   Vers des langues de programmation ?
Contexte



  Assertion : « Je maîtrise PHP »
    1 Environnement de développement ;
    2 Environnement de production ;
    3 API ;
    4 Écosystème ;
    5 La communauté liée au langage.




                     Nicolas Dubois   Vers des langues de programmation ?
Contexte



  Assertion : « Je maîtrise PHP »
    1 Environnement de développement ;
    2 Environnement de production ;
    3 API ;
    4 Écosystème ;
    5 La communauté liée au langage.




                     Nicolas Dubois   Vers des langues de programmation ?
Contexte



  Assertion : « Je maîtrise PHP »
    1 Environnement de développement ;
    2 Environnement de production ;
    3 API ;
    4 Écosystème ;
    5 La communauté liée au langage.




                     Nicolas Dubois   Vers des langues de programmation ?
Définition d’une langue


  Définition
  Langage = Syntaxe + Sémantique

  Définition
  Langage de programmation = Syntaxe + Sémantique + ?

  Définition
  Langue = Langage + Histoire + Culture




                     Nicolas Dubois   Vers des langues de programmation ?
Définition d’une langue


  Définition
  Langage = Syntaxe + Sémantique

  Définition
  Langage de programmation = Syntaxe + Sémantique + ?

  Définition
  Langue = Langage + Histoire + Culture




                     Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Histoire



    Les inconsistences du langage ;
    Exemple avec la librairie standard de PHP pour le traitement
    des chaînes de caractères
      1  str_repeat()/str_replace() vs strlen()/strpos()
      2  strtolower()/strtoupper() vs bin2hex()/nl2br()
      3  stripslashes() vs strip_tags()
      4  base64_decode()/base64_encode() vs
         urldecode()/urlencode()




                         Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Histoire



    Les inconsistences du langage ;
    Exemple avec la librairie standard de PHP pour le traitement
    des chaînes de caractères
      1  str_repeat()/str_replace() vs strlen()/strpos()
      2  strtolower()/strtoupper() vs bin2hex()/nl2br()
      3  stripslashes() vs strip_tags()
      4  base64_decode()/base64_encode() vs
         urldecode()/urlencode()




                         Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Culture




    Culture
    Énormément d’éléments du langage sont culturels (car issus de
    conventions).

    Exemple de convention
    En python, il n’existe pas de mot clé pour instancier une
    classe.
    m y _o b j e c t = O b j e c t ( params )
    my_var = m y _ f u n c t i o n ( params )




                                  Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Culture




    Culture
    Énormément d’éléments du langage sont culturels (car issus de
    conventions).

    Exemple de convention
    En python, il n’existe pas de mot clé pour instancier une
    classe.
    m y _o b j e c t = O b j e c t ( params )
    my_var = m y _ f u n c t i o n ( params )




                                  Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Langue vs Langage




    Langue vs Langage
    Langage de programmation : la modalité de communication
                entre l’homme et la machine ;
    Langue de programmation : une instanciation de cette
                modalité au travers une histoire et une culture.

    Exemple de langue de programmation
    Java, PHP, Python, Ruby, etc, sont des langues de
    programmation.



                         Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Langue vs Langage




    Langue vs Langage
    Langage de programmation : la modalité de communication
                entre l’homme et la machine ;
    Langue de programmation : une instanciation de cette
                modalité au travers une histoire et une culture.

    Exemple de langue de programmation
    Java, PHP, Python, Ruby, etc, sont des langues de
    programmation.



                         Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Langue vs Langage




    Langue vs Langage
    Langage de programmation : la modalité de communication
                entre l’homme et la machine ;
    Langue de programmation : une instanciation de cette
                modalité au travers une histoire et une culture.

    Exemple de langue de programmation
    Java, PHP, Python, Ruby, etc, sont des langues de
    programmation.



                         Nicolas Dubois   Vers des langues de programmation ?
Langue de programmation
Langue vs Langage




    Langue vs Langage
    Langage de programmation : la modalité de communication
                entre l’homme et la machine ;
    Langue de programmation : une instanciation de cette
                modalité au travers une histoire et une culture.

    Exemple de langue de programmation
    Java, PHP, Python, Ruby, etc, sont des langues de
    programmation.



                         Nicolas Dubois   Vers des langues de programmation ?
Conclusion




  À quoi ça sert ?
  « Heu, ouais cool. Ça sert à quoi en fait ?
  — À rien ! »




                        Nicolas Dubois   Vers des langues de programmation ?
Conclusion




  À quoi ça sert ?
  « Heu, ouais cool. Ça sert à quoi en fait ?
  — À rien ! »




                        Nicolas Dubois   Vers des langues de programmation ?
Fausse fin




                   Merci




            Nicolas Dubois   Vers des langues de programmation ?
Conclusion



  Définition d’un développeur web
  Un développeur web n’est pas un bidouilleur de langages de
  programmation.

  Définition d’un développeur web
  Un développeur web est un polyglotte qui met en œuvre
  plusieurs langues de programmation.




                      Nicolas Dubois   Vers des langues de programmation ?
Conclusion



  Définition d’un développeur web
  Un développeur web n’est pas un bidouilleur de langages de
  programmation.

  Définition d’un développeur web
  Un développeur web est un polyglotte qui met en œuvre
  plusieurs langues de programmation.




                      Nicolas Dubois   Vers des langues de programmation ?
Conclusion



  Définition d’un développeur web
  Un développeur web n’est pas un bidouilleur de langages de
  programmation.

  Définition d’un développeur web
  Un développeur web est un polyglotte qui met en œuvre
  plusieurs langues de programmation.




                      Nicolas Dubois   Vers des langues de programmation ?
Vraie fin




                  Merci




           Nicolas Dubois   Vers des langues de programmation ?

Vers des langues de programmation ?

  • 1.
    Vers des languesde programmation ? SudWeb 2011 Nicolas Dubois - @duboisnicolas Lightning Talk Vendredi 27 mai 2011 Nicolas Dubois Vers des langues de programmation ?
  • 2.
    Préambule Cetteprésentation est ma nouvelle arme absolue pour endormir mes enfants en moins de 5 minutes le soir ! Nicolas Dubois Vers des langues de programmation ?
  • 3.
    Préambule Cetteprésentation est ma nouvelle arme absolue pour endormir mes enfants en moins de 5 minutes le soir ! Nicolas Dubois Vers des langues de programmation ?
  • 4.
    Préambule Boncourage ! Nicolas Dubois Vers des langues de programmation ?
  • 5.
    Question initiale Paradoxe Question initiale Pourquoi faut-il plusieurs années d’expérience sur un langage de programmation ? Nicolas Dubois Vers des langues de programmation ?
  • 6.
    Définition d’un langage Définition Langage = Syntaxe + Sémantique Exemple de langage Syntaxe : p u b l i c c l a s s A extends B { // Some c o d e . . . } Sémantique : définition d’une classe d’objet A qui étend la classe d’objet B. Nicolas Dubois Vers des langues de programmation ?
  • 7.
    Définition d’un langage Définition Langage = Syntaxe + Sémantique Exemple de langage Syntaxe : p u b l i c c l a s s A extends B { // Some c o d e . . . } Sémantique : définition d’une classe d’objet A qui étend la classe d’objet B. Nicolas Dubois Vers des langues de programmation ?
  • 8.
    Définition d’un langagede programmation Définition Langage = Syntaxe + Sémantique Définition Langage de programmation = Syntaxe + Sémantique + ? Nicolas Dubois Vers des langues de programmation ?
  • 9.
    Définition d’un langagede programmation Définition Langage = Syntaxe + Sémantique Définition Langage de programmation = Syntaxe + Sémantique + ? Nicolas Dubois Vers des langues de programmation ?
  • 10.
    Contexte Assertion: « Je maîtrise PHP » 1 Environnement de développement ; 2 Environnement de production ; 3 API ; 4 Écosystème ; 5 La communauté liée au langage. Nicolas Dubois Vers des langues de programmation ?
  • 11.
    Contexte Assertion: « Je maîtrise PHP » 1 Environnement de développement ; 2 Environnement de production ; 3 API ; 4 Écosystème ; 5 La communauté liée au langage. Nicolas Dubois Vers des langues de programmation ?
  • 12.
    Contexte Assertion: « Je maîtrise PHP » 1 Environnement de développement ; 2 Environnement de production ; 3 API ; 4 Écosystème ; 5 La communauté liée au langage. Nicolas Dubois Vers des langues de programmation ?
  • 13.
    Contexte Assertion: « Je maîtrise PHP » 1 Environnement de développement ; 2 Environnement de production ; 3 API ; 4 Écosystème ; 5 La communauté liée au langage. Nicolas Dubois Vers des langues de programmation ?
  • 14.
    Contexte Assertion: « Je maîtrise PHP » 1 Environnement de développement ; 2 Environnement de production ; 3 API ; 4 Écosystème ; 5 La communauté liée au langage. Nicolas Dubois Vers des langues de programmation ?
  • 15.
    Contexte Assertion: « Je maîtrise PHP » 1 Environnement de développement ; 2 Environnement de production ; 3 API ; 4 Écosystème ; 5 La communauté liée au langage. Nicolas Dubois Vers des langues de programmation ?
  • 16.
    Définition d’une langue Définition Langage = Syntaxe + Sémantique Définition Langage de programmation = Syntaxe + Sémantique + ? Définition Langue = Langage + Histoire + Culture Nicolas Dubois Vers des langues de programmation ?
  • 17.
    Définition d’une langue Définition Langage = Syntaxe + Sémantique Définition Langage de programmation = Syntaxe + Sémantique + ? Définition Langue = Langage + Histoire + Culture Nicolas Dubois Vers des langues de programmation ?
  • 18.
    Langue de programmation Histoire Les inconsistences du langage ; Exemple avec la librairie standard de PHP pour le traitement des chaînes de caractères 1 str_repeat()/str_replace() vs strlen()/strpos() 2 strtolower()/strtoupper() vs bin2hex()/nl2br() 3 stripslashes() vs strip_tags() 4 base64_decode()/base64_encode() vs urldecode()/urlencode() Nicolas Dubois Vers des langues de programmation ?
  • 19.
    Langue de programmation Histoire Les inconsistences du langage ; Exemple avec la librairie standard de PHP pour le traitement des chaînes de caractères 1 str_repeat()/str_replace() vs strlen()/strpos() 2 strtolower()/strtoupper() vs bin2hex()/nl2br() 3 stripslashes() vs strip_tags() 4 base64_decode()/base64_encode() vs urldecode()/urlencode() Nicolas Dubois Vers des langues de programmation ?
  • 20.
    Langue de programmation Culture Culture Énormément d’éléments du langage sont culturels (car issus de conventions). Exemple de convention En python, il n’existe pas de mot clé pour instancier une classe. m y _o b j e c t = O b j e c t ( params ) my_var = m y _ f u n c t i o n ( params ) Nicolas Dubois Vers des langues de programmation ?
  • 21.
    Langue de programmation Culture Culture Énormément d’éléments du langage sont culturels (car issus de conventions). Exemple de convention En python, il n’existe pas de mot clé pour instancier une classe. m y _o b j e c t = O b j e c t ( params ) my_var = m y _ f u n c t i o n ( params ) Nicolas Dubois Vers des langues de programmation ?
  • 22.
    Langue de programmation Languevs Langage Langue vs Langage Langage de programmation : la modalité de communication entre l’homme et la machine ; Langue de programmation : une instanciation de cette modalité au travers une histoire et une culture. Exemple de langue de programmation Java, PHP, Python, Ruby, etc, sont des langues de programmation. Nicolas Dubois Vers des langues de programmation ?
  • 23.
    Langue de programmation Languevs Langage Langue vs Langage Langage de programmation : la modalité de communication entre l’homme et la machine ; Langue de programmation : une instanciation de cette modalité au travers une histoire et une culture. Exemple de langue de programmation Java, PHP, Python, Ruby, etc, sont des langues de programmation. Nicolas Dubois Vers des langues de programmation ?
  • 24.
    Langue de programmation Languevs Langage Langue vs Langage Langage de programmation : la modalité de communication entre l’homme et la machine ; Langue de programmation : une instanciation de cette modalité au travers une histoire et une culture. Exemple de langue de programmation Java, PHP, Python, Ruby, etc, sont des langues de programmation. Nicolas Dubois Vers des langues de programmation ?
  • 25.
    Langue de programmation Languevs Langage Langue vs Langage Langage de programmation : la modalité de communication entre l’homme et la machine ; Langue de programmation : une instanciation de cette modalité au travers une histoire et une culture. Exemple de langue de programmation Java, PHP, Python, Ruby, etc, sont des langues de programmation. Nicolas Dubois Vers des langues de programmation ?
  • 26.
    Conclusion Àquoi ça sert ? « Heu, ouais cool. Ça sert à quoi en fait ? — À rien ! » Nicolas Dubois Vers des langues de programmation ?
  • 27.
    Conclusion Àquoi ça sert ? « Heu, ouais cool. Ça sert à quoi en fait ? — À rien ! » Nicolas Dubois Vers des langues de programmation ?
  • 28.
    Fausse fin Merci Nicolas Dubois Vers des langues de programmation ?
  • 29.
    Conclusion Définitiond’un développeur web Un développeur web n’est pas un bidouilleur de langages de programmation. Définition d’un développeur web Un développeur web est un polyglotte qui met en œuvre plusieurs langues de programmation. Nicolas Dubois Vers des langues de programmation ?
  • 30.
    Conclusion Définitiond’un développeur web Un développeur web n’est pas un bidouilleur de langages de programmation. Définition d’un développeur web Un développeur web est un polyglotte qui met en œuvre plusieurs langues de programmation. Nicolas Dubois Vers des langues de programmation ?
  • 31.
    Conclusion Définitiond’un développeur web Un développeur web n’est pas un bidouilleur de langages de programmation. Définition d’un développeur web Un développeur web est un polyglotte qui met en œuvre plusieurs langues de programmation. Nicolas Dubois Vers des langues de programmation ?
  • 32.
    Vraie fin Merci Nicolas Dubois Vers des langues de programmation ?