IDE Wars - Oracle Code One

IDE Wars - Oracle Code One

With Ken Fogel and Scott Selikoff


Jeanne Boyarsky

September 16, 2019


  1. @JeanneBoyarsky @ScottSelikoff @omniprof 1

  2. @JeanneBoyarsky @ScottSelikoff @omniprof Monday, September 16, 2019 Oracle Code One

    (DEV1375) Java IDE Wars Jeanne Boyarsky, Scott Selikoff & Ken Fogel
  3. @JeanneBoyarsky @ScottSelikoff @omniprof About Us 3 • Java Developer • CodeRanch Mod

    • Java Champion • Robotics Mentor • Java Developer • CodeRanch Mod • Software Consultant • Teacher • DawsCon Organizer • Java Champion
  4. @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
  5. @JeanneBoyarsky @ScottSelikoff @omniprof Time/Location Upcoming Talks Speakers Tuesday 6PM -

    6:45PM Organizing JUGs and Conferences: The World View from Guatemala, Turkey, and Canada Mert Caliskan Kenneth Fogel Jorge Cajas Wednesday 5PM - 7PM Hands-on Java 11 OCP Certification Prep Jeanne Boyarsky Scott Selikoff Kenneth Fogel Thursday 9AM - 9:45AM Choosing the Right Java Vendor and Strategy Jeanne Boyarsky Chandra Guntur 5
  6. @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
  7. @JeanneBoyarsky @ScottSelikoff @omniprof The Big 3 ½ Java IDEs 7 Anecdotal data! Your mileage will vary!
  8. @JeanneBoyarsky @ScottSelikoff @omniprof Product Derivations •  IDEs have been repackaged

    free/commercial products: •  IntelliJ - ex: Android Studio •  Eclipse - ex: Rational Application Developer •  NetBeans - ex: Praxis •  Many others! 8
  9. @JeanneBoyarsky @ScottSelikoff @omniprof IntelliJ Ultimate Edition Paid Community Edition Free,

    contributions accepted IntelliJ Platform (Java based) Open source 9
  10. @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
  11. @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
  12. @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
  13. @JeanneBoyarsky @ScottSelikoff @omniprof Background 13 Owned By First Released NetBeans

    Apache 1997 Eclipse Eclipse Foundation 2001 IntelliJ JetBrains 2001 VS Code Microsoft 2015
  14. @JeanneBoyarsky @ScottSelikoff @omniprof Cost 14 Free Version IntelliJ Free -

    Community Paid - Ultimate Eclipse Free NetBeans Free VS Code Free
  15. @JeanneBoyarsky @ScottSelikoff @omniprof System Requirements 15 RAM IntelliJ 2GB min,

    8GB rec Eclipse 2GB NetBeans 2GB VS Code 1GB
  16. @JeanneBoyarsky @ScottSelikoff @omniprof Common Build Tool Integrations 16 Ant Maven

    Gradle IntelliJ Eclipse NetBeans VS Code
  17. @JeanneBoyarsky @ScottSelikoff @omniprof Operating System Support 17 Windows Mac Linux

    IntelliJ Eclipse NetBeans VS Code
  18. @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.
  19. @JeanneBoyarsky @ScottSelikoff @omniprof Favorite IntelliJ Features 19

  20. @JeanneBoyarsky @ScottSelikoff @omniprof Refactoring 20

  21. @JeanneBoyarsky @ScottSelikoff @omniprof Refactoring 21

  22. @JeanneBoyarsky @ScottSelikoff @omniprof Refactoring 22

  23. @JeanneBoyarsky @ScottSelikoff @omniprof Refactoring 23

  24. @JeanneBoyarsky @ScottSelikoff @omniprof Maven Integration 24 •  Dependency does not

    exist •  Conflicting versions
  25. @JeanneBoyarsky @ScottSelikoff @omniprof Maven Integration 25

  26. @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
  27. @JeanneBoyarsky @ScottSelikoff @omniprof Favorite Eclipse Features 27

  28. @JeanneBoyarsky @ScottSelikoff @omniprof Perspectives 28 Fully Customizable and Dynamic UI

    Perspective = Set of Views (size/position/ tabs)
  29. @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
  30. @JeanneBoyarsky @ScottSelikoff @omniprof Perspectives (cont) 30 Example: Debug Perspective Dozens

    of Built-in Perspectives Can easily customize and save your own perspectives
  31. @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
  32. @JeanneBoyarsky @ScottSelikoff @omniprof Working Sets (cont) 32 Can switch at

    any time Can also Deselect to View All
  33. @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
  34. @JeanneBoyarsky @ScottSelikoff @omniprof Favorite NetBeans Features 34

  35. @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
  36. @JeanneBoyarsky @ScottSelikoff @omniprof NetBeans Features: Project Groups Project Groups are

    similar to workspaces You can have projects in a group from different folders 36
  37. @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
  38. @JeanneBoyarsky @ScottSelikoff @omniprof NetBeans Features: version lookup 38 NetBeans can

    reveal what versions of a library are available
  39. @JeanneBoyarsky @ScottSelikoff @omniprof Favorite VS Code Features 39

  40. @JeanneBoyarsky @ScottSelikoff @omniprof Markdown 40 •  Can open without project

    •  Preview •  Fast
  41. @JeanneBoyarsky @ScottSelikoff @omniprof FIRST Robotics 41 •  Simple first IDE

    •  Good when you expect an editor with some extra features •  Excellent FIRST robotics integration
  42. @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
  43. @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
  44. @JeanneBoyarsky @ScottSelikoff @omniprof Live Demos 44

  45. @JeanneBoyarsky @ScottSelikoff @omniprof 45