SlideShare a Scribd company logo
1 of 22
Download to read offline
Mélanie BATS
@melaniebats
BACK TO THE
FUTURE
EclipseConverge & Devoxx US
EclipseConverge
First Edition
San Jose, California
March 20, 2017
DEVOXX US
First Edition
San Jose, California
March 21 – 23, 2017
IDEs diversity
● Clean UI of VSCode
● Templates and zoom in IntelliJ for live
coding demos
● Easy setup of Eclipse Che thanks to
CheFile and Factories
● Eclipse Oxygen for June
Eclipse Oxygen
Code recommenders
ECLEmma
Graphviz editor
Improved UX
Support of Java9 & JUnit5
New Generic Editor combined
with the Language Server
Protocol
Language Server Protocol explained by Sven Efftinge
Language Server Protocol
● LSP4E: integration of language servers into the
Eclipse IDE.
● LSP4J: a reusable Java implementation of LSP
(communication from JSON)
● Generic editor: supports easily new languages.
Disseminate knowledge
● Peer learning by Marko Gargenta:
Organize classes to share
technical aspects & company
culture: War stories
● Best practices
● Code review
● Hook into the build to
enforce pattern: FindBugs,
Infer:Eradicate, Checker
Framework
Ten simple rules for writing great test casesby Stuart Marks & Steve Poole
Prototyping mindset by Marty Haught
Invoke YAGNI whenever it makes sense, reduce the
complexity of your solution!
Test Lessons by Elliotte Rusty Harold
Test Lessons from the field & Effective Unit Testing
● Separate your Eclipse/Non Eclipse code, your GUI/Non GUI
projects,
● Test configuration files (plugin.xml, MANIFEST.MF,
plugin.properties...),
● When you found a bug first write a test and then fix the bug.
● Use Continous Integration & code coverage tools
Build
● I do not hate Maven
● Maven vs Gradle
● Building at Uber scale: OkBuck
JAVA 8
Optional - The Mother of all Bikesheds by Stuart Marks
Collections Refueled by Stuart Marks
Java 8: Collection.removeIf(predicate) , List.replaceAll, Collections.sort,
Map.forEach, Map.replaceAll, multimap.computeIfAbsent,
multimap.computeIfPresent, multimap.getOrDefault : contains,
Comparators
Java 9: List.of, Set.of, Map.of, Map.ofEntries, Immutable data
structures...
Collections.compare
JAVA 9
Anticipating Java 9 by Trisha Gee
● Jigsaw
● Better everything: memory, performance, doc, faster compilation...
● New methods on stream API: TakeWhile/DropWhile, List.of/Set.of/Map.of
● HTML5 Javadoc
● Javadoc search
● Private static methods available in interface
● @Deprecated(since, forRemoval)
● New process API
● Java9 REPL: JShell
● Flow API: reactive programming is really here to stay
Modern Web
1. Binge streaming your web API by Audrey Neveu & Guillaume Laforge:
Server-Sent Events and JSON patch
2. Angular2 for Java dev by Yakov Fain: demystifies the Angular
framework
3. Is your JavaScript ready for enterprise? by John Brock: resist to the
hype, rediscover HTML5 and choose between all the JS frameworks
and libraries options
Homeworks
● Mockito 2: mock framework
● Cucumber & Citrus
● JUnit5 by Marc Philipp: soon and integrated in Eclipse by Noopur Gupta
for the Oxygen.1
Open your mind
● Fun
○ The Business of Technology by Chet Haase
○ Java Posse live podcast and moreover
○ Home brewering, how to not restore a VW
bus...
● New horizons
○ AI design
○ Deep learning in biomedicine
○ Quantum computing
Next
● Devoxx FR
Paris
April 5-7, 2017
● EclipseCon FR
Toulouse
June 21-22, 2017

More Related Content

What's hot

Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...Aurélien Pupier
 
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...Pôle Systematic Paris-Region
 
Designing and coding for cloud-native applications using Python, Harjinder Mi...
Designing and coding for cloud-native applications using Python, Harjinder Mi...Designing and coding for cloud-native applications using Python, Harjinder Mi...
Designing and coding for cloud-native applications using Python, Harjinder Mi...Pôle Systematic Paris-Region
 
Rubinius - Ruby Implemented with Ruby
Rubinius - Ruby Implemented with RubyRubinius - Ruby Implemented with Ruby
Rubinius - Ruby Implemented with RubyAkanksha Agrawal
 
Using Cloud Natural Language API as a preprocessor
Using Cloud Natural Language API as a preprocessorUsing Cloud Natural Language API as a preprocessor
Using Cloud Natural Language API as a preprocessorHayato Yoshikawa
 
Introduction to go, and why it's awesome
Introduction to go, and why it's awesomeIntroduction to go, and why it's awesome
Introduction to go, and why it's awesomeJanet Kuo
 
From training to explainability via git ops
From training to explainability via git opsFrom training to explainability via git ops
From training to explainability via git opsRyan Dawson
 
Node & Express as Workflow Tools
Node & Express as Workflow ToolsNode & Express as Workflow Tools
Node & Express as Workflow ToolsFITC
 
So you want to write a cloud function
So you want to write a cloud functionSo you want to write a cloud function
So you want to write a cloud functionElad Hirsch
 
Angular 6 training in Chennai
Angular 6 training in ChennaiAngular 6 training in Chennai
Angular 6 training in ChennaiBalajihope
 
Asynchronous programming with Functional Java and comparison with Scala
Asynchronous programming with Functional Java and comparison with ScalaAsynchronous programming with Functional Java and comparison with Scala
Asynchronous programming with Functional Java and comparison with ScalaKnoldus Inc.
 
How to approach building GUIs using PyQT
How to approach building GUIs using PyQTHow to approach building GUIs using PyQT
How to approach building GUIs using PyQTJerlyn Manohar
 
A live-coding introduction to Mill : finally a build tool we can all understand
A live-coding introduction to Mill : finally a build tool we can all understandA live-coding introduction to Mill : finally a build tool we can all understand
A live-coding introduction to Mill : finally a build tool we can all understandGuillaume Galy
 
Quick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using JavascriptQuick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using JavascriptRobert Ellen
 

What's hot (19)

Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...
 
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
Building a high-performance, scalable ML & NLP platform with Python, Sheer El...
 
gRPC
gRPC gRPC
gRPC
 
FunScript: Why bother?
FunScript: Why bother?FunScript: Why bother?
FunScript: Why bother?
 
DevOps Toolchain v1.0
DevOps Toolchain v1.0DevOps Toolchain v1.0
DevOps Toolchain v1.0
 
Designing and coding for cloud-native applications using Python, Harjinder Mi...
Designing and coding for cloud-native applications using Python, Harjinder Mi...Designing and coding for cloud-native applications using Python, Harjinder Mi...
Designing and coding for cloud-native applications using Python, Harjinder Mi...
 
Rubinius - Ruby Implemented with Ruby
Rubinius - Ruby Implemented with RubyRubinius - Ruby Implemented with Ruby
Rubinius - Ruby Implemented with Ruby
 
Using Cloud Natural Language API as a preprocessor
Using Cloud Natural Language API as a preprocessorUsing Cloud Natural Language API as a preprocessor
Using Cloud Natural Language API as a preprocessor
 
Introduction to go, and why it's awesome
Introduction to go, and why it's awesomeIntroduction to go, and why it's awesome
Introduction to go, and why it's awesome
 
From training to explainability via git ops
From training to explainability via git opsFrom training to explainability via git ops
From training to explainability via git ops
 
Node & Express as Workflow Tools
Node & Express as Workflow ToolsNode & Express as Workflow Tools
Node & Express as Workflow Tools
 
!!Readme
!!Readme!!Readme
!!Readme
 
So you want to write a cloud function
So you want to write a cloud functionSo you want to write a cloud function
So you want to write a cloud function
 
Angular 6 training in Chennai
Angular 6 training in ChennaiAngular 6 training in Chennai
Angular 6 training in Chennai
 
Hello, ASP.NET 5!
Hello, ASP.NET 5!Hello, ASP.NET 5!
Hello, ASP.NET 5!
 
Asynchronous programming with Functional Java and comparison with Scala
Asynchronous programming with Functional Java and comparison with ScalaAsynchronous programming with Functional Java and comparison with Scala
Asynchronous programming with Functional Java and comparison with Scala
 
How to approach building GUIs using PyQT
How to approach building GUIs using PyQTHow to approach building GUIs using PyQT
How to approach building GUIs using PyQT
 
A live-coding introduction to Mill : finally a build tool we can all understand
A live-coding introduction to Mill : finally a build tool we can all understandA live-coding introduction to Mill : finally a build tool we can all understand
A live-coding introduction to Mill : finally a build tool we can all understand
 
Quick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using JavascriptQuick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using Javascript
 

Similar to Eclipse Democamp Nantes 2017 - Back to the Future: EclipseConverge & Devoxx US

JRuby in Java Projects
JRuby in Java ProjectsJRuby in Java Projects
JRuby in Java Projectsjazzman1980
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE abile technologies
 
An introduction to Java 9 & Its Features
An introduction to Java 9 & Its FeaturesAn introduction to Java 9 & Its Features
An introduction to Java 9 & Its FeaturesNexSoftsys
 
Confoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to startConfoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to startQuentin Adam
 
Node.js and GraphQL: From Setup to Server, Your Complete Tutorial
Node.js and GraphQL: From Setup to Server, Your Complete TutorialNode.js and GraphQL: From Setup to Server, Your Complete Tutorial
Node.js and GraphQL: From Setup to Server, Your Complete TutorialLakshman S
 
Venkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic LanguagesVenkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic Languagesdeimos
 
Buildingwebapplicationswith.net
Buildingwebapplicationswith.netBuildingwebapplicationswith.net
Buildingwebapplicationswith.netKolagani Veera
 
The features of java 11 vs. java 12
The features of  java 11 vs. java 12The features of  java 11 vs. java 12
The features of java 11 vs. java 12FarjanaAhmed3
 
Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18
Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18
Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18Manuel Rivero
 
current innovations in the most critical programming language: java
current innovations in the most critical programming language: javacurrent innovations in the most critical programming language: java
current innovations in the most critical programming language: javaHosseinMahdavipur
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTManuel Carrasco Moñino
 
Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019Abhishek Malik
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
Effects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAsEffects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAsManuel Rivero
 
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLINuxeo
 

Similar to Eclipse Democamp Nantes 2017 - Back to the Future: EclipseConverge & Devoxx US (20)

JRuby in Java Projects
JRuby in Java ProjectsJRuby in Java Projects
JRuby in Java Projects
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
Java 8 Overview
Java 8 OverviewJava 8 Overview
Java 8 Overview
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
 
An introduction to Java 9 & Its Features
An introduction to Java 9 & Its FeaturesAn introduction to Java 9 & Its Features
An introduction to Java 9 & Its Features
 
Confoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to startConfoo - Javascript Server Side : How to start
Confoo - Javascript Server Side : How to start
 
Node.js and GraphQL: From Setup to Server, Your Complete Tutorial
Node.js and GraphQL: From Setup to Server, Your Complete TutorialNode.js and GraphQL: From Setup to Server, Your Complete Tutorial
Node.js and GraphQL: From Setup to Server, Your Complete Tutorial
 
java new technology
java new technologyjava new technology
java new technology
 
Venkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic LanguagesVenkat Subramaniam Blending Java With Dynamic Languages
Venkat Subramaniam Blending Java With Dynamic Languages
 
Buildingwebapplicationswith.net
Buildingwebapplicationswith.netBuildingwebapplicationswith.net
Buildingwebapplicationswith.net
 
The features of java 11 vs. java 12
The features of  java 11 vs. java 12The features of  java 11 vs. java 12
The features of java 11 vs. java 12
 
Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18
Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18
Effects, coeffects & subscriptions: a pit of success for SPAs Socracan18
 
current innovations in the most critical programming language: java
current innovations in the most critical programming language: javacurrent innovations in the most critical programming language: java
current innovations in the most critical programming language: java
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
nodejs.pptx
nodejs.pptxnodejs.pptx
nodejs.pptx
 
Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Effects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAsEffects, Coeffects & Subscriptions: a pit of success for SPAs
Effects, Coeffects & Subscriptions: a pit of success for SPAs
 
Next.js with drupal, the good parts
Next.js with drupal, the good partsNext.js with drupal, the good parts
Next.js with drupal, the good parts
 
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
 

More from melbats

SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud PlatformSiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platformmelbats
 
Sirius Web, simplifier l'édition graphique de données dans le web
Sirius Web, simplifier l'édition graphique de données dans le webSirius Web, simplifier l'édition graphique de données dans le web
Sirius Web, simplifier l'édition graphique de données dans le webmelbats
 
SiriusCon 2021 - Keynote
SiriusCon 2021 - KeynoteSiriusCon 2021 - Keynote
SiriusCon 2021 - Keynotemelbats
 
EclipseCon21 - Alice's Adventures in Sirius Web Land!
EclipseCon21 - Alice's Adventures in Sirius Web Land!EclipseCon21 - Alice's Adventures in Sirius Web Land!
EclipseCon21 - Alice's Adventures in Sirius Web Land!melbats
 
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...melbats
 
ECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling toolsECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling toolsmelbats
 
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…melbats
 
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...melbats
 
CheConf 2018 - Building Extensibility and Community for Che
CheConf 2018 - Building Extensibility and Community for CheCheConf 2018 - Building Extensibility and Community for Che
CheConf 2018 - Building Extensibility and Community for Chemelbats
 
SiriusCon 2017 - Sirius Roadmap
SiriusCon 2017 - Sirius RoadmapSiriusCon 2017 - Sirius Roadmap
SiriusCon 2017 - Sirius Roadmapmelbats
 
Devoxx Be 2017 - Let it go! or How to become a free software developer?
Devoxx Be 2017 - Let it go! or How to become a free software developer?Devoxx Be 2017 - Let it go! or How to become a free software developer?
Devoxx Be 2017 - Let it go! or How to become a free software developer?melbats
 
EclipseCon EU 2017 - All about UX in Sirius
EclipseCon EU 2017 - All about UX in SiriusEclipseCon EU 2017 - All about UX in Sirius
EclipseCon EU 2017 - All about UX in Siriusmelbats
 
EclipseCon EU 2017 - Sirius
EclipseCon EU 2017 - SiriusEclipseCon EU 2017 - Sirius
EclipseCon EU 2017 - Siriusmelbats
 
DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?
DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?
DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?melbats
 
EclipseCon France 2017 - All about UX in Sirius
EclipseCon France 2017 - All about UX in SiriusEclipseCon France 2017 - All about UX in Sirius
EclipseCon France 2017 - All about UX in Siriusmelbats
 
Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...
Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...
Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...melbats
 
ETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/SiriusETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/Siriusmelbats
 
GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...
GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...
GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...melbats
 
EclipseCon Eu 2012 - Build your own System Engineering workbench
EclipseCon Eu 2012 - Build your own System Engineering workbenchEclipseCon Eu 2012 - Build your own System Engineering workbench
EclipseCon Eu 2012 - Build your own System Engineering workbenchmelbats
 
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...melbats
 

More from melbats (20)

SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud PlatformSiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
SiriusCon 2020 - Sirius to the Web with Obeo Cloud Platform
 
Sirius Web, simplifier l'édition graphique de données dans le web
Sirius Web, simplifier l'édition graphique de données dans le webSirius Web, simplifier l'édition graphique de données dans le web
Sirius Web, simplifier l'édition graphique de données dans le web
 
SiriusCon 2021 - Keynote
SiriusCon 2021 - KeynoteSiriusCon 2021 - Keynote
SiriusCon 2021 - Keynote
 
EclipseCon21 - Alice's Adventures in Sirius Web Land!
EclipseCon21 - Alice's Adventures in Sirius Web Land!EclipseCon21 - Alice's Adventures in Sirius Web Land!
EclipseCon21 - Alice's Adventures in Sirius Web Land!
 
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
EclipseConEU 2019 - Your cloud-based modeling workbench in 15 minutes with Ec...
 
ECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling toolsECMFA 2018 - Keynote : The future of modeling tools
ECMFA 2018 - Keynote : The future of modeling tools
 
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
 
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
 
CheConf 2018 - Building Extensibility and Community for Che
CheConf 2018 - Building Extensibility and Community for CheCheConf 2018 - Building Extensibility and Community for Che
CheConf 2018 - Building Extensibility and Community for Che
 
SiriusCon 2017 - Sirius Roadmap
SiriusCon 2017 - Sirius RoadmapSiriusCon 2017 - Sirius Roadmap
SiriusCon 2017 - Sirius Roadmap
 
Devoxx Be 2017 - Let it go! or How to become a free software developer?
Devoxx Be 2017 - Let it go! or How to become a free software developer?Devoxx Be 2017 - Let it go! or How to become a free software developer?
Devoxx Be 2017 - Let it go! or How to become a free software developer?
 
EclipseCon EU 2017 - All about UX in Sirius
EclipseCon EU 2017 - All about UX in SiriusEclipseCon EU 2017 - All about UX in Sirius
EclipseCon EU 2017 - All about UX in Sirius
 
EclipseCon EU 2017 - Sirius
EclipseCon EU 2017 - SiriusEclipseCon EU 2017 - Sirius
EclipseCon EU 2017 - Sirius
 
DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?
DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?
DevFest 2017 - Libérée! Délivrée! ou Comment devenir développeuse open source ?
 
EclipseCon France 2017 - All about UX in Sirius
EclipseCon France 2017 - All about UX in SiriusEclipseCon France 2017 - All about UX in Sirius
EclipseCon France 2017 - All about UX in Sirius
 
Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...
Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...
Eclipse Con US 2013 - Buildroot Eclipse Bundle : A powerful IDE for Embedded ...
 
ETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/SiriusETR2013 - Obeo Designer/Sirius
ETR2013 - Obeo Designer/Sirius
 
GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...
GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...
GlobalDSL 2013 - Models, Representations, Animations : The Eclipse Sirius Pro...
 
EclipseCon Eu 2012 - Build your own System Engineering workbench
EclipseCon Eu 2012 - Build your own System Engineering workbenchEclipseCon Eu 2012 - Build your own System Engineering workbench
EclipseCon Eu 2012 - Build your own System Engineering workbench
 
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
 

Recently uploaded

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
1C_PNS.pdf Philippines National standard
1C_PNS.pdf Philippines National standard1C_PNS.pdf Philippines National standard
1C_PNS.pdf Philippines National standardraffietividad53
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptesrabilgic2
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 

Recently uploaded (20)

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
1C_PNS.pdf Philippines National standard
1C_PNS.pdf Philippines National standard1C_PNS.pdf Philippines National standard
1C_PNS.pdf Philippines National standard
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Lecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).pptLecture # 8 software design and architecture (SDA).ppt
Lecture # 8 software design and architecture (SDA).ppt
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 

Eclipse Democamp Nantes 2017 - Back to the Future: EclipseConverge & Devoxx US

  • 1. Mélanie BATS @melaniebats BACK TO THE FUTURE EclipseConverge & Devoxx US
  • 2. EclipseConverge First Edition San Jose, California March 20, 2017
  • 3. DEVOXX US First Edition San Jose, California March 21 – 23, 2017
  • 4. IDEs diversity ● Clean UI of VSCode ● Templates and zoom in IntelliJ for live coding demos ● Easy setup of Eclipse Che thanks to CheFile and Factories ● Eclipse Oxygen for June
  • 5. Eclipse Oxygen Code recommenders ECLEmma Graphviz editor Improved UX Support of Java9 & JUnit5 New Generic Editor combined with the Language Server Protocol
  • 6. Language Server Protocol explained by Sven Efftinge
  • 7. Language Server Protocol ● LSP4E: integration of language servers into the Eclipse IDE. ● LSP4J: a reusable Java implementation of LSP (communication from JSON) ● Generic editor: supports easily new languages.
  • 8. Disseminate knowledge ● Peer learning by Marko Gargenta: Organize classes to share technical aspects & company culture: War stories ● Best practices ● Code review ● Hook into the build to enforce pattern: FindBugs, Infer:Eradicate, Checker Framework
  • 9. Ten simple rules for writing great test casesby Stuart Marks & Steve Poole
  • 10. Prototyping mindset by Marty Haught Invoke YAGNI whenever it makes sense, reduce the complexity of your solution!
  • 11. Test Lessons by Elliotte Rusty Harold Test Lessons from the field & Effective Unit Testing ● Separate your Eclipse/Non Eclipse code, your GUI/Non GUI projects, ● Test configuration files (plugin.xml, MANIFEST.MF, plugin.properties...), ● When you found a bug first write a test and then fix the bug. ● Use Continous Integration & code coverage tools
  • 12. Build ● I do not hate Maven ● Maven vs Gradle ● Building at Uber scale: OkBuck
  • 14. Optional - The Mother of all Bikesheds by Stuart Marks
  • 15. Collections Refueled by Stuart Marks Java 8: Collection.removeIf(predicate) , List.replaceAll, Collections.sort, Map.forEach, Map.replaceAll, multimap.computeIfAbsent, multimap.computeIfPresent, multimap.getOrDefault : contains, Comparators Java 9: List.of, Set.of, Map.of, Map.ofEntries, Immutable data structures...
  • 18. Anticipating Java 9 by Trisha Gee ● Jigsaw ● Better everything: memory, performance, doc, faster compilation... ● New methods on stream API: TakeWhile/DropWhile, List.of/Set.of/Map.of ● HTML5 Javadoc ● Javadoc search ● Private static methods available in interface ● @Deprecated(since, forRemoval) ● New process API ● Java9 REPL: JShell ● Flow API: reactive programming is really here to stay
  • 19. Modern Web 1. Binge streaming your web API by Audrey Neveu & Guillaume Laforge: Server-Sent Events and JSON patch 2. Angular2 for Java dev by Yakov Fain: demystifies the Angular framework 3. Is your JavaScript ready for enterprise? by John Brock: resist to the hype, rediscover HTML5 and choose between all the JS frameworks and libraries options
  • 20. Homeworks ● Mockito 2: mock framework ● Cucumber & Citrus ● JUnit5 by Marc Philipp: soon and integrated in Eclipse by Noopur Gupta for the Oxygen.1
  • 21. Open your mind ● Fun ○ The Business of Technology by Chet Haase ○ Java Posse live podcast and moreover ○ Home brewering, how to not restore a VW bus... ● New horizons ○ AI design ○ Deep learning in biomedicine ○ Quantum computing
  • 22. Next ● Devoxx FR Paris April 5-7, 2017 ● EclipseCon FR Toulouse June 21-22, 2017