Ceylon d‘ici à l‘infini : tour d‘horizon et le futur

Post on 23-Jun-2015

389 views 0 download

Tags:

description

Ceylon est un nouveau langage de programmation élégant pour la JVM et les VMs JavaScript, fait pour le travail en équipe. Mais plus que ça, c‘est une plate-forme complète avec modularité, un SDK, des outils et IDEs. Nous allons présenter le langage, la plate-forme et son écosystème. Vous allez tout voir : du nouveau projet dans l‘IDE à la publication dans Herd, notre dépôt de modules, y compris le SDK. Nous présenterons également les projets Ceylon en cours tels que le système de build, l‘intégration Vert.x ou Cayla, le nouveau framework Web. Enfin nous présenterons les plans pour Ceylon 1.1, 1.2 et au delà.

transcript

@UnFroMage#AKS-330

Ceylon d’ici à l’infini :tour d’horizon et le futur

Stéphane Épardaud@UnFroMageRed HatChief FroMage Officer at Ceylon

@UnFroMage#AKS-330

Mais bien sûr que j’ai un plan

•Mais c’est qui lui ?

• Il fait quoi déjà ?–Il est fou ?!

•On va vous expliquer en quoi ça consiste–L’écosystème Ceylon

•Le futur de Ceylon

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Mer

ci

@UnFroMage#AKS-330

Remerciements

•Merci d’être venu à ma présentation

•Enfin, surtout merci de ne pas être allé à celles des autres

•Et merci aux autres présentations d’avoir fait salle comble

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Qui,

quoi

 ?

@UnFroMage#AKS-330

N’importe qui, n’importe quoi

•Je travaille pour Red Hat–Depuis le début de Ceylon

•À démarré le compilateur vers JVM, Herd

•Travaille sur le SDK, outils, intégration

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Ceylo

n

@UnFroMage#AKS-330

Ceylon c’est

•Un langage

• Puissant, moderne

• Lisible

• Prévisible

•Un écosystème

• Une plate-forme

• Modulaire

• Des outils

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Le

lang

age

@UnFroMage#AKS-330

Le langage

• Inspiré de Java, C#

• Inférence de type

•Typage plus puissant

•Flow-typing

•Mixins

•Lambdas

•Comprehensions

•Génériques réifiés

•Modules

•Meta-modêle

•Compile vers JVM, JSVM

• Interop avec Java, JavaScript

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

L’ID

E

@UnFroMage#AKS-330

L’IDE

•Plugin Eclipse démarré par David Festal (Serli) et Gavin King

• Intégré à JDT

•Compilation vers JVM, JS

•Quick-fixes, refactoring, wizards

• Intégré aux backends

•Et au système de modules

@UnFroMage#AKS-330

Ceylon sur IntelliJ

•Projet démarré par Bastien Jansen et Matija Mazi

•Coloration syntaxique

•Compilation

•Navigation

@YourTwitterHandle@UnFroMage#AKS-330

Dem

o

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Le S

DK

@UnFroMage#AKS-330

ceylon.language maigre

•String, Boolean, Integer, Float, Character

•Set, List, Map

•Opérations : Summable, Correspondence…

•Callable, apply…

• Infos systèmes : runtime, language

•Meta-modêle

@UnFroMage#AKS-330

SDK à part

•ceylon.collection

•ceylon.dbc*

•ceylon.file*

•ceylon.html

•ceylon.interop*

•ceylon.io*

•ceylon.json

•ceylon.logging*

•ceylon.math*

•ceylon.net*

•ceylon.process*

•ceylon.test

•ceylon.time

•ceylon.unicode*

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

CLI

@UnFroMage#AKS-330

Le meilleur ami du dev : la CLI

•Basée sur celle de git

•Une commande : ceylon–Plein de sous-commandes (compile, run…)–Plugins scripts : ceylon­build

•Completion

•Aide contextuelle–Exportée en man, html, docbook

@YourTwitterHandle@UnFroMage#AKS-330

Dem

o

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

ceylon.build

@UnFroMage#AKS-330

ceylon.build

•Démarré par Loïc Rouchon

•Permet d’écrire son build en Ceylon

• Inspiré par Gradle

@YourTwitterHandle@UnFroMage#AKS-330

Dem

o

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Herd

@UnFroMage#AKS-330

Le dépôt de modules du futur

•Essayons de faire aussi utilisable que GitHub

• Interface web jolie et intuitive

•API REST

•Repositories de staging

•Gestion des permissions

• Intégration IDE, CLI, GitHub

•Aspect social

@YourTwitterHandle@UnFroMage#AKS-330

Dem

o

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Cayla

@UnFroMage#AKS-330

Cayla

•Démarré par Julien Viet

•Consiste en :–ceylon.promise–io.vertx.ceylon–io.cayla.web–io.cayla.mvvm

@YourTwitterHandle@UnFroMage#AKS-330

Dem

o

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Le Fut

ur

@UnFroMage#AKS-330

Le futur

•La 1.0 sortie en novembre 2013

•La 1.1 sortie imminente–Compilation 2 fois plus rapide–Jusqu’à 5 fois plus rapide dans l’IDE–Beaucoup de bugs fixés–IDE bien plus polie–Peu de changements dans le langage

@UnFroMage#AKS-330

Le futur

•La 1.2 en 2014–Flow-typing dans les expressions–let-expressions–Constructors–Serialisation–Sugar for enumerations–Assemblies–Multi-backend modules

@YourTwitterHandle#DVXFR14{session hashtag} @UnFroMage#AKS-330

Q & A

@UnFroMage#AKS-330

Crédit image / Creative Commons• Rue pavée — By-Nc-Sa

• http://www.flickr.com/photos/22914687@N05/4957591422/sizes/l/

• Sous la Tour Eiffel — By-Nc-Sa

• http://www.flickr.com/photos/stewiedewie/244850735/sizes/l/in/photostream/

• Sous le pont — photo par B.Monginoux - By-Nc-Nd

• http://www.landscape-photo.net/displayimage.php?pid=5194

• Le Louvre – Photo par Anthony Gaudun - By-Nc-Sa

• http://www.flickr.com/photos/anthonygaudun/7474397964/sizes/o/in/photostream/• Slide template created by @glaforge, completed by @nmartignole for Devoxx FR2014