$30 off During Our Annual Pro Sale. View Details »
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
180
Le Plan
k33g
0
190
Prog Fonctionnelle 🐑
k33g
1
370
Apéro fonctionnel
k33g
0
120
Scala Facile
k33g
0
280
Golo, the Tiny Language that gives super powers
k33g
0
110
Golo, the Tiny Language that gives super powers
k33g
0
250
Apéro Fonctionnel
k33g
0
270
Programmation fonctionnelle 🐑 en JS
k33g
2
290
Other Decks in Programming
See All in Programming
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.7k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
140
CSC305 Lecture 17
javiergs
PRO
0
340
Cap'n Webについて
yusukebe
0
120
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
360
Go コードベースの構成と AI コンテキスト定義
andpad
0
120
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
490
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
420
開発に寄りそう自動テストの実現
goyoki
1
750
tparseでgo testの出力を見やすくする
utgwkk
1
180
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
RailsConf 2023
tenderlove
30
1.3k
Building Applications with DynamoDB
mza
96
6.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
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 ...
?