$30 off During Our Annual Pro Sale. View Details »

Golo, petit mais costaud

Golo, petit mais costaud

Présentation pour l'édition 2014 du Jug Summer Camp
les exemples sont ici https://github.com/TypeUnsafe/golo-tour/tree/master/06-Golo.17.JugSummerCamp

Philippe CHARRIERE

September 21, 2014
Tweet

More Decks by Philippe CHARRIERE

Other Decks in Programming

Transcript

  1. #gololang
    Golo
    PETIT MAIS COSTAUD

    View Slide

  2. #gololang
    Merci
    + Vous

    View Slide

  3. #gololang
    Responsable Marketing
    (Golo Dancer & Committer)
    @Typeunsafe
    Philippe Charrière | @k33g_org

    View Slide

  4. #gololang
    Responsable Marketing
    (Golo Dancer & Committer)
    @Typeunsafe
    Directeur Technique
    Philippe Charrière | @k33g_org
    Lyon

    View Slide

  5. #gololang
    Golo, quoi, qui, pourquoi, …
    (au fait, c’est un langage)
    Golo in action, particularités, Java
    (du code, du code, du code)
    Hacking Golo
    (le langage dont vous êtes le héros)

    Nous parlerons de …

    View Slide

  6. #gololang
    Golo?
    Quoi, Qui, Pourquoi, …

    View Slide

  7. #gololang
    1 langage dynamique pour la JVM
    à base d’Invokedynamic
    facile à utiliser
    facile à modifier
    Golo?
    Golo, quoi, qui, pourquoi, …

    View Slide

  8. #gololang
    Golo?
    Golo, quoi, qui, pourquoi, …
    module hello
    function hello = |who| {
    println("Hello " + who)
    }
    function main = |args| {
    let salut = |qui| -> println("Salut " + qui)
    salut("John")
    hello("Bob")
    }

    View Slide

  9. #gololang
    Créé par @jponge (aka “le doc”)
    Boss de TypeUnsafe
    Golo?
    Golo, quoi, qui, pourquoi, …

    View Slide

  10. #gololang
    Dynamid
    Middlewares Dynamiques
    Expertise Invokedynamic
    Golo?
    Golo, quoi, qui, pourquoi, …

    View Slide

  11. #gololang
    Middlewares Dynamiques?
    Golo?
    Golo, quoi, qui, pourquoi, …

    View Slide

  12. #gololang
    Léger 530 kb
    Golo <3 Java
    Golo est rapide
    dans un contexte dynamique #notroll
    Golo? … à savoir
    Golo, quoi, qui, pourquoi, …

    View Slide

  13. #gololang
    Un langage développé
    sur le temps libre,
    la bonne volonté
    et la passion
    … et en peu de temps
    Golo? … à savoir
    Golo, quoi, qui, pourquoi, …

    View Slide

  14. #gololang
    Golo in action
    Particularités, Java

    View Slide

  15. #gololang
    Générer un projet Golo
    Simple: golo new hello
    Maven: golo new hellomvn --type maven
    Gradle: golo new hellogrd --type gradle
    Préambule
    Particularités, Java

    View Slide

  16. #gololang
    Démos
    bouts de code
    Particularités, Java

    View Slide

  17. #gololang
    Il y a aussi …
    tout ce dont je n’ai pas eu le temps de parler
    http://golo-lang.org/documentation/next/
    Particularités, Java

    View Slide

  18. #gololang
    Hacking Golo
    Facile!

    View Slide

  19. #gololang
    “Augmenter” Golo en Java
    Hacking Golo
    public static String currentDir() throws IOException {
    return new File(".").getCanonicalPath();
    }

    View Slide

  20. #gololang
    “Augmenter” Golo en Golo
    Hacking Golo
    augment gololang.concurrent.async.Promise {
    function initialize = |this, closure| {
    closure(|data| -> this: set(data), |err| -> this: fail(err))
    return this: future()
    }
    }

    View Slide

  21. #gololang
    Applications
    du web, des outils, …

    View Slide

  22. #gololang
    Créer des “webapps” rapidement
    qui “parlent” avec Java, légères
    Créer des utilitaires
    générateurs de code (à la Yeoman)
    etc. …
    Applications

    View Slide

  23. #gololang
    Univers Golo
    Vers l’infini & au-delà

    View Slide

  24. #gololang
    Communauté
    Univers Golo

    View Slide

  25. #gololang
    @NinjaSquad
    @SerliFr
    @HGomez
    Et tous les autres: testeurs, conférences, JUG, …
    https://github.com/golo-lang/golo-lang#contributing
    Mention spéciale
    Univers Golo

    View Slide

  26. #gololang
    The End
    Merci à vous, Questions?, …

    View Slide

  27. #gololang
    Golo: http://golo-lang.org/
    https://github.com/golo-lang/golo-lang
    @golo_lang
    Dynamid: http://dynamid.citi-lab.fr/
    Citi-Lab: http://www.citi-lab.fr/
    Liens

    View Slide

  28. #gololang
    Boss: @jponge
    Marketing: @k33g_org | [email protected]
    Contacts

    View Slide