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 OxygenCode 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 cases by 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
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
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 Web1. 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
Recommended