Ceylon is a new modern, elegant programming language for the JVM and JavaScript VM, designed for team work. But it's more than that, it is a full platform with modularity, an SDK, tools and IDEs.
We will present Ceylon the language, the platform, and its ecosystem. You will see everything from starting a new project in the IDE to publishing it on Herd, our module repository, including using the SDK. We will also discuss the ongoing Ceylon projects such as the build system, Vert.x integration or Cayla, the new web framework.
Finally we will discuss the plans for Ceylon 1.2 and further.
4. N’importe qui, n’importe quoi
•Stef and Tom work for Red Hat
–Since Ceylon went public
•Started the JVM compiler, Herd
•Work on the SDK, tools, integration
10. The Ceylon IDE
•Eclipse plugin started by David Festal (Serli) and Gavin
King
•Integrated with JDT
•Compiles to JVM, JS
•Quick-fixes, refactoring, wizards
•Integrated with the module system
•As production-ready as Java Plugin
11. Ceylon on IntelliJ
•Project started by Bastien Jansen and Matija Mazi
•Syntax colouring
•Compilation
•Navigation
•Execution
•Work in progress
–Started working on it again
17. The developer's best friend: the CLI
•Inspired by git
•One command: ceylon
–Many sub-commands (compile, run…)
–Plugins scripts: ceylon-build
•Completion
•Contextual help
–Exported in man, html, docbook
23. The module repository of tomorrow
•As pretty and useable as GitHub
•Web interface easy to use
•REST API
•Staging repositories
•Works with teams
•Integration with IDE, CLI, GitHub
•Social aspect
26. Vert.x / Cayla
•Started by Julien Viet (now working for Red Hat on
Vert.x and Ceylon)
•Consists of:
–ceylon.promise
–io.vertx.ceylon.core
•For Vert.x 2 and 3
–io.cayla.web
29. The past, actually
•1.0 released in November 2013
•1.1 released in October 2014
–Compilation twice as fast
–Up to 5 times faster in the IDE
–Many bug fixes
–IDE way more polished and powerful
–Few changes in the language
–Much better Java interoperability
30. The future
•1.2 early 2015
–Serialisation
–Flow-typing in expressions
•if, switch expressions
•else blocks
–let-expressions
–Multiple constructors
–Tuple destructuring
–Lambda arg type inference
•1.3 in 2015
–Sugar for enumerations
–Assemblies
–Multi-backend modules
–Sync with Java 8 features
–AST transformers
–Linq-style comprehensions