Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Golo @SoftShake
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Philippe CHARRIERE
October 25, 2013
Programming
0
250
Golo @SoftShake
Philippe CHARRIERE
October 25, 2013
Tweet
Share
More Decks by Philippe CHARRIERE
See All by Philippe CHARRIERE
The Plan v3 pour BDX.io
k33g
1
190
Le Plan
k33g
0
200
Prog Fonctionnelle 🐑
k33g
1
380
Apéro fonctionnel
k33g
0
120
Scala Facile
k33g
0
280
Golo, the Tiny Language that gives super powers
k33g
0
120
Golo, the Tiny Language that gives super powers
k33g
0
260
Apéro Fonctionnel
k33g
0
270
Programmation fonctionnelle 🐑 en JS
k33g
2
290
Other Decks in Programming
See All in Programming
Data-Centric Kaggle
isax1015
2
770
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
510
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
270
Fluid Templating in TYPO3 14
s2b
0
130
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
120
AtCoder Conference 2025
shindannin
0
1.1k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Code Reviewing Like a Champion
maltzj
527
40k
The untapped power of vector embeddings
frankvandijk
1
1.6k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
51
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
How to Talk to Developers About Accessibility
jct
2
130
Done Done
chrislema
186
16k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Transcript
Le petit langage qui donne des super-pouvoirs
Moi?
le jour Avant-Vendeur ?! Steria LYON
la nuit @k33g_org Golo Developer Advocate ;-)
nous allons voir ...
Golo Origins Golo Basics Golo Advanced
Golo Origins
Golo? Quoi ?
Nouveau langage pour la JVM
Nouveau langage Java 7, 8
Nouveau langage Java 7, 8 Invokedynamic
Doc Ponge @jponge
#gololang @golo_lang http://golo-lang. org
Sérieux ? Encore un langage pour la JVM !
Oui, mais ...
Simple
Simple à apprendre
Simple à apprendre Léger
Simple à apprendre Léger 360 ko
Simple à apprendre Léger 360 ko Evolutif
Simple à apprendre Léger 360 ko Evolutif très facilement
None
ça ressemble à quoi ?
#DEMO dsl, template, ...
Golo? Pourquoi ?
Dynamid Expertise Invokedynamic Middlewares dynamiques
Besoin de Faciliter les expérimentations de recherche
>> décision de créer
1 langage & 1 runtime
1 langage > dialectes & 1 runtime
1 langage > dialectes & 1 runtime > capacités
Golo est né
Golo est né construit pour Invokedynamic
Golo est né construit pour Invokedynamic prêt à conquérir le
monde
Golo est né construit pour Invokedynamic prêt à conquérir (tout)
le monde
Invokedynamic ?
en 15 secs max je n’y connais rien
>> à partir de Java 7 1 nouvelle instruction Invokedynamic
Profiter d’une meilleure compilation JIT
Profiter d’une meilleure compilation JIT Invocation + rapide # réflexion
Profiter d’une meilleure compilation JIT Invocation + rapide # réflexion
Invocation optimisable
Invokedynamic aide la JVM à comprendre ce que font les
langages dynamiques
Golo Basics
#DEMO petit cours “rapide” de Golo ou “Golo par l’exemple”
Golo Advanced
#DEMO modifier Golo!!!
Scripter Java en Golo
Golo Class Loader GoloClassLoader classLoader = new GoloClassLoader(); Class<?> moduleClass
= classLoader.load( "foo.golo", new FileInputStream("/path/to/foo.golo") ); Method bar = moduleClass.getMethod("bar", Object.class); bar.invoke(null, "golo golo");
www.sparkjava.com jackson Jedis
Google App Engine goloo-framework.appspot.com
Troll … Pas Troll
Comparons ce qui est comparable
Comparons ce qui est comparable static <> dynamic
Scala : static aussi (+?) rapide que Java DSL fonctionnel
gigantesque mais apprentissage très long
Groovy : dynamic (*) moins rapide que Java mais très
complet, >> : builders (html, json, …), ... apprentissage rapide (*) : mode statique possible
Golo : dynamic moins rapide que Java, plus rapide que
JRuby, “Sucrette syntaxique” pour Java & “goodies” apprentissage ultra rapide
Dynamiques(à relativiser)
Golo vs Statiques
Ecosystème Golo
Projets de recherche Congolo / Frédéric Le Mouël Hardengolo /
Nicolas Stouls IDE Eclipse / Jeff Maury Netbeans / David Festal Tools Intégration OSX (homebrew) / Romain Lespinasse Intégration Linux / Henri Gomez Web Intégration Vert.x / Julien Viet Futur évangéliste Daniel Petisme
Let us make sure history never forgets the name ...
Golo JL Picard
Je l’utilise pour ...
Apprendre Java Prototyper DSL Estimations DSL G° Exigences Webapps
Et après ?
Dynamic class adapters & Proxies Concurrency APIs ...
?