@JeanneBoyarsky @ScottSelikoff @omniprof Monday, September 16, 2019 Oracle Code One (DEV1375) Java IDE Wars Jeanne Boyarsky, Scott Selikoff & Ken Fogel
@JeanneBoyarsky @ScottSelikoff @omniprof A Commercial Break 4 Java 11 book I (Exam 1Z0-815) available in November Pre-Order Now January 10th Montreal, Canada Registration open now! Free
@JeanneBoyarsky @ScottSelikoff @omniprof Introduction • Lots of features are supported by all IDEs but some do it better/easier than others • These are our opinions and favorites • Hold questions until the end 6
@JeanneBoyarsky @ScottSelikoff @omniprof Eclipse Many packages by language/role (ex: Java, Java EE, C++, etc) Many plugins, views, perspectives Module based; written in Java Open source 10
@JeanneBoyarsky @ScottSelikoff @omniprof NetBeans Free, modular open-source Java-based IDE Donated by Oracle to the Apache Foundation NetBeans is simply a GUI on top of the command line Best parties at Code One involve the NetBeans aficionados 11
@JeanneBoyarsky @ScottSelikoff @omniprof VS Code Our ½ IDE (for now) Easily (we think) extensible to work with almost any programming language Microsoft built with Electron.js, a framework that combines the Chromium rendering engine and the Node.js runtime 12
@JeanneBoyarsky @ScottSelikoff @omniprof Background 13 Owned By First Released NetBeans Apache 1997 Eclipse Eclipse Foundation 2001 IntelliJ JetBrains 2001 VS Code Microsoft 2015
@JeanneBoyarsky @ScottSelikoff @omniprof Favorite Features 18 Disclaimers: Many of these features exist across multiple IDEs. However, our highlighting it means we felt it was superior.
@JeanneBoyarsky @ScottSelikoff @omniprof Project Coin of IntelliJ 26 • Warnings before commit (compiler warnings, TODOs + Sonar Lint) • Highlight columns horizontally • Notes when JavaDoc parameters incorrect • Good autocomplete and refactoring support for streams/lambdas • Copy file name/path
@JeanneBoyarsky @ScottSelikoff @omniprof Perspectives (cont) 29 View = Window, often a Tool/Plugin Almost 100 Views available by default Save Perspectives and quick-launch favorites from the toolbar
@JeanneBoyarsky @ScottSelikoff @omniprof Perspectives (cont) 30 Example: Debug Perspective Dozens of Built-in Perspectives Can easily customize and save your own perspectives
@JeanneBoyarsky @ScottSelikoff @omniprof Working Sets 31 Workspace = List of Projects Working Set = View of subset of Projects Great for large number of microservices or modules
@JeanneBoyarsky @ScottSelikoff @omniprof Other Eclipse Features Open File with System Editor Vast plugins library View/Filter Errors and Warnings on at All Times Build Automatically Enabled By Default Easy Upgrades (easy fresh installs too) Simple Project Imports Fast Loading via Lazy Instantiation Free! 33
@JeanneBoyarsky @ScottSelikoff @omniprof NetBeans Features - JEP 330 Projects are not required to write and/or run single file Java programs Invaluable for running snippets of code 35
@JeanneBoyarsky @ScottSelikoff @omniprof NetBeans Features: Project Groups Project Groups are similar to workspaces You can have projects in a group from different folders 36
@JeanneBoyarsky @ScottSelikoff @omniprof NetBeans Features: Default Build NetBeans does not have its own custom build system The choice of build system is made when a project is created 37
@JeanneBoyarsky @ScottSelikoff @omniprof FIRST Robotics 41 • Simple first IDE • Good when you expect an editor with some extra features • Excellent FIRST robotics integration
@JeanneBoyarsky @ScottSelikoff @omniprof Visual Studio Code Features JavaScript JSON HTML CSS, SCSS and Less TypeScript Markdown Go T-SQL C# .NET Core Rust Ruby & more 42 PowerShell C++ Java PHP Python Widest range of supported languages
@JeanneBoyarsky @ScottSelikoff @omniprof Closing • They are each very powerful and feature rich and you can’t go wrong with any of them • Great time to be a Java developer! • Many people feel very strongly about IDEs 43