Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Golo, petit mais costaud (Tours JUG)
Search
Philippe CHARRIERE
January 16, 2015
Programming
86
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Golo, petit mais costaud (Tours JUG)
Philippe CHARRIERE
January 16, 2015
More Decks by Philippe CHARRIERE
See All by Philippe CHARRIERE
The Plan v3 pour BDX.io
k33g
1
210
Le Plan
k33g
0
220
Prog Fonctionnelle 🐑
k33g
1
400
Apéro fonctionnel
k33g
0
130
Scala Facile
k33g
0
300
Golo, the Tiny Language that gives super powers
k33g
0
150
Golo, the Tiny Language that gives super powers
k33g
0
310
Apéro Fonctionnel
k33g
0
280
Programmation fonctionnelle 🐑 en JS
k33g
2
300
Other Decks in Programming
See All in Programming
JIS keyboard support in Omarchy
lef237
0
120
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
The Rails Doctrine Decade
koic
2
590
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
240
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
510
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
610
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
すこし踏み込む CancellationToken
htkym
2
1.7k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
630
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
A designer walks into a library…
pauljervisheath
211
25k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Language of Interfaces
destraynor
162
27k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Transcript
#gololang #toursjug Golo PETIT MAIS COSTAUD
#gololang #toursjug Merci + Vous
#gololang #toursjug Responsable Marketing (Golo Dancer & Committer) @Typeunsafe Philippe
Charrière | @k33g_org
#gololang #toursjug Responsable Marketing (Golo Dancer & Committer) @Typeunsafe Directeur
Technique - Philippe Charrière | @k33g_org Lyon
#gololang #toursjug 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 …
#gololang #toursjug Golo? Quoi, Qui, Pourquoi, …
#gololang #toursjug 1 langage dynamique pour la JVM à base
d’Invokedynamic facile à utiliser facile à modifier Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug 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") }
#gololang #toursjug Créé par @jponge (aka “le doc”) Boss de
TypeUnsafe Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug Dynamid Middlewares Dynamiques Expertise Invokedynamic Golo? Golo, quoi,
qui, pourquoi, …
#gololang #toursjug Middlewares Dynamiques? Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug Léger 530 kb Golo <3 Java Golo est
rapide dans un contexte dynamique #notroll Golo? … à savoir Golo, quoi, qui, pourquoi, …
#gololang #toursjug Benchs ceci n’est pas un #troll Golo? Golo,
quoi, qui, pourquoi, …
#gololang #toursjug Golo, quoi, qui, pourquoi, … GoloBox
#gololang #toursjug Golo, quoi, qui, pourquoi, … Temps de démarrage
- plateforme : RPI B+ / Java 8 Un programme simple: afficher “Hello”
#gololang #toursjug Golo, quoi, qui, pourquoi, … Approche de PI
- plateforme : RPI B+ / Java 8 Durée totale du traitement (lancement + calcul) et temps de calcul (compris dans la durée de traitement)
#gololang #toursjug Golo, quoi, qui, pourquoi, … Java + dynamique
+ délais courts + mémoire (IOT) -> Golo Conclusion
#gololang #toursjug pour le fun pour apprendre (pas que Golo)
pour expérimenter & prototyper pour “partager” & participer pour de l’embarqué pour avoir son propre langage … Pourquoi faire du Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug 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, …
#gololang #toursjug Golo in action Particularités, Java
#gololang #toursjug 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
#gololang #toursjug Démos bouts de code Particularités, Java
#gololang #toursjug Perfs web
#gololang #toursjug à prendre avec des pincettes Applications
#gololang #toursjug Applications 1 mac avec le “serveur d’app°” 1
pc avec MongoDb
#gololang #toursjug Applications class BasicSimulation extends Simulation { val
httpConf = http .baseURL("http://localhost:9000") val scn = scenario("Add Humans").repeat(10) { exec( http("add human") .post("/humans") .body(StringBody("{\"_id\":\"@john_doe\",\"firstName\":\"John\",\"lastName\":\"Doe\"}")) .asJSON .check(status.is(201)) ) .exec( http("add human") .post("/humans") .body(StringBody("{\"_id\":\"@jane_doe\",\"firstName\":\"Jane\",\"lastName\":\"Doe\"}")) .asJSON .check(status.is(201)) ) .exec( http("add human") .post("/humans") .body(StringBody("{\"_id\":\"@bob_morane\",\"firstName\":\"Bob\",\"lastName\":\"Morane\"}")) .asJSON .check(status.is(201)) ) } setUp(scn .inject(rampUsers(1000) over (60)).protocols(httpConf)) }
#gololang #toursjug Applications Play 2 (Java) Kiss (Golo)
#gololang #toursjug Applications class BasicSimulationGetAll extends Simulation { val httpConf
= http .baseURL("http://localhost:9000") val scn = scenario("Get All Humans").repeat(100) { exec( http("get humans") .get("/humans") .check(status.is(200)) ) } setUp(scn .inject(rampUsers(5000) over (300)).protocols(httpConf)) }
#gololang #toursjug Applications Play 2 (Java) Kiss (Golo)
#gololang #toursjug Applications Play 2 (Java) Kiss (Golo)
#gololang #toursjug Golo in action Particularités, Java, DSL, IOT
#gololang #toursjug Démos bouts de code Particularités, Java
#gololang #toursjug 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
#gololang #toursjug Hacking Golo Facile!
#gololang #toursjug “Augmenter” Golo en Java … et en Golo
Hacking Golo
#gololang #toursjug Univers Golo Vers l’infini & au-delà
#gololang #toursjug Communauté Univers Golo
#gololang #toursjug @NinjaSquad @SerliFr @HGomez Et tous les autres: testeurs,
conférences, JUG, … https://github.com/golo-lang/golo-lang#contributing Mention spéciale Univers Golo
#gololang #toursjug The End Merci à vous, Questions?, …
#gololang #toursjug 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
#gololang #toursjug Boss: @jponge Marketing: @k33g_org |
[email protected]
Contacts