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
Philippe CHARRIERE
October 25, 2013
Programming
0
240
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
160
Le Plan
k33g
0
180
Prog Fonctionnelle 🐑
k33g
1
360
Apéro fonctionnel
k33g
0
120
Scala Facile
k33g
0
270
Golo, the Tiny Language that gives super powers
k33g
0
98
Golo, the Tiny Language that gives super powers
k33g
0
240
Apéro Fonctionnel
k33g
0
260
Programmation fonctionnelle 🐑 en JS
k33g
2
290
Other Decks in Programming
See All in Programming
AI Ramen Fight
yusukebe
0
130
画像コンペでのベースラインモデルの育て方
tattaka
3
1.5k
実践!App Intents対応
yuukiw00w
1
220
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
820
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
240
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
580
AIのメモリー
watany
13
1.4k
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
290
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
4
2.5k
decksh - a little language for decks
ajstarks
4
21k
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
110
実践 Dev Containers × Claude Code
touyu
1
160
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
440
Code Reviewing Like a Champion
maltzj
524
40k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What's in a price? How to price your products and services
michaelherold
246
12k
Docker and Python
trallard
45
3.5k
Facilitating Awesome Meetings
lara
54
6.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Six Lessons from altMBA
skipperchong
28
3.9k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Embracing the Ebb and Flow
colly
86
4.8k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
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 ...
?