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
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Golo @SoftShake
Philippe CHARRIERE
October 25, 2013
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
140
Golo, the Tiny Language that gives super powers
k33g
0
290
Apéro Fonctionnel
k33g
0
280
Programmation fonctionnelle 🐑 en JS
k33g
2
300
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
初めてのKubernetes 本番運用でハマった話
oku053
0
130
yield再入門 #phpcon
o0h
PRO
0
740
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
230
What's New in Android 2026
veronikapj
0
190
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2.1k
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
8
3.3k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
640
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
AIが無かった頃の素敵な出会いの話
codmoninc
1
220
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Building Adaptive Systems
keathley
44
3.1k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
320
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Language of Interfaces
destraynor
162
27k
We Have a Design System, Now What?
morganepeng
55
8.2k
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 ...
?