SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Be ready to                       !

#golang

#humantalks
                    Julien Bordellier
          @jstoja
Mots clefs
         Typage fort
                       Garbage collector
  Open Source (BSD)
                       Orienté objet
        Concurrent
                       Compilé (so faaaaast)
        C-like + cgo
Orienté Objet ?
                Objets simples

                 type myType struct {
                     value      []byte
                     size       uint64
                  }



  (oui le type est après le nom de la variable)
Orienté Objet ?
     Système de packages
    Nom du package en début de fichier :
            package webapp
  Import du package dans un autre package :
            import «webapp»
Orienté Objet ?
    Export de fonctions clair et simple

              func MyFunction() {
   exportée      // Lines of code
              }




     non-     func myFunction() {
                 // Lines of code
   exportée   }
Orienté Objet ?

                   Méthodes claires

  func (myObj myType) MethodName() (myRetVar uint64) {
     // Lines of code
  }
Orienté Objet ?
         Héritage Composition



   Interfaces = ensemble de méthodes

    Pas d’implémentation de classes

    Satisfaction implicite de l’interface
Concurrent
MyApp



    Request   Un seul
              Gopher
Concurrent
MyApp
                    Travail en
                   concurence
    Request
                   Attention:
              Concurrent != Parallèle
Concurrent

      Lancer une méthode en concurrence
      func main() {
         myFunction() //Lancée normalement
         go myFunction() //Lancée dans une goroutine
      }


 Une goroutine s’exécute en fond, le programme
      n’attend pas le retour de la fonction.
Concurrent
   Communiquer en
     partageant
         c’est


    MAUVAIS
Concurrent
      Partager en
    communiquant
         c’est


     LE BIEN
Les channels

  Même fonctionnement que les pipes unix.
  Des données en entrée vont vers la sortie,
             bloquant ou non.

   C’est LE moyen de communication
        entre les goroutines !!!
Du Code?


       Si le sujet plait,
 la prochaine fois on codera !
Richesse
                            Apprennez en plus !


golang.org => tour.golang.org

talks.golang.org

vimeo.com/53221560 - «Code that grows with grace»

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

cpp1 : Quelques elements de base du C++
cpp1 : Quelques elements de base du C++cpp1 : Quelques elements de base du C++
cpp1 : Quelques elements de base du C++
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Cours de JAVA de base
Cours de JAVA  de baseCours de JAVA  de base
Cours de JAVA de base
 
JAVA
JAVAJAVA
JAVA
 
Javascript pour les Développeurs WEB
Javascript pour les Développeurs WEBJavascript pour les Développeurs WEB
Javascript pour les Développeurs WEB
 
Python après 15 ans de JAVA
Python après 15 ans de JAVAPython après 15 ans de JAVA
Python après 15 ans de JAVA
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieur
 
Python
PythonPython
Python
 
Javascript Json artchitecture
Javascript  Json artchitecture Javascript  Json artchitecture
Javascript Json artchitecture
 
Cours php
Cours phpCours php
Cours php
 
Ch05
Ch05Ch05
Ch05
 

Similar a Soyez Ready to Go - HumanTalks Montpellier 02/2013

INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3PGambette
 
POO - Chapitre6.pptx
POO - Chapitre6.pptxPOO - Chapitre6.pptx
POO - Chapitre6.pptxRAYENBOUAFIF1
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)PGambette
 
intro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPintro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPfrwebhelp
 

Similar a Soyez Ready to Go - HumanTalks Montpellier 02/2013 (7)

INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
POO - Chapitre6.pptx
POO - Chapitre6.pptxPOO - Chapitre6.pptx
POO - Chapitre6.pptx
 
Part1
Part1Part1
Part1
 
Go
GoGo
Go
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
 
intro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPintro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APP
 

Soyez Ready to Go - HumanTalks Montpellier 02/2013

  • 1. Be ready to ! #golang #humantalks Julien Bordellier @jstoja
  • 2. Mots clefs Typage fort Garbage collector Open Source (BSD) Orienté objet Concurrent Compilé (so faaaaast) C-like + cgo
  • 3. Orienté Objet ? Objets simples type myType struct { value []byte size uint64 } (oui le type est après le nom de la variable)
  • 4. Orienté Objet ? Système de packages Nom du package en début de fichier : package webapp Import du package dans un autre package : import «webapp»
  • 5. Orienté Objet ? Export de fonctions clair et simple func MyFunction() { exportée // Lines of code } non- func myFunction() { // Lines of code exportée }
  • 6. Orienté Objet ? Méthodes claires func (myObj myType) MethodName() (myRetVar uint64) { // Lines of code }
  • 7. Orienté Objet ? Héritage Composition Interfaces = ensemble de méthodes Pas d’implémentation de classes Satisfaction implicite de l’interface
  • 8. Concurrent MyApp Request Un seul Gopher
  • 9. Concurrent MyApp Travail en concurence Request Attention: Concurrent != Parallèle
  • 10. Concurrent Lancer une méthode en concurrence func main() { myFunction() //Lancée normalement go myFunction() //Lancée dans une goroutine } Une goroutine s’exécute en fond, le programme n’attend pas le retour de la fonction.
  • 11. Concurrent Communiquer en partageant c’est MAUVAIS
  • 12. Concurrent Partager en communiquant c’est LE BIEN
  • 13. Les channels Même fonctionnement que les pipes unix. Des données en entrée vont vers la sortie, bloquant ou non. C’est LE moyen de communication entre les goroutines !!!
  • 14. Du Code? Si le sujet plait, la prochaine fois on codera !
  • 15. Richesse Apprennez en plus ! golang.org => tour.golang.org talks.golang.org vimeo.com/53221560 - «Code that grows with grace»