I am a developer going for my OCP Java se 11 Develop[er certification,
working through the complete study guide (just started today).
What struck me was the warning to not use an IDE such as IntelliJ while studying for the Exam.
I was wondering what the reasoning behind this is ?
Some of the reasons:
* because IDE will spot many non-compile problems right off, while lots of questions test specifically compilation problems
* because you won't learn command line arguments for java and javac
* because you won't learn modules layout (where put module definition, how to package module manually, etc.)
* because IDE performs auto code completion for you and methods lookups
* because IDE performs adds import statement for you, while you must know some packages names
* because IDE will wrap problematic code in try catch block and you won't bother if the code safe or not (distinguish checked v.s. runtime exception)
* some more reasons, but I am tired to list...
Exam 1Z0-817: Upgrade OCP Java 6, 7 and 8 to Java SE 11 Developer Study Guide and Quiz
I DID use my IDE from time to time, especially for the somewhat more complicated questions. In my javadoc, I presented the options, and then gave my answer. Then I started to type the exercize, curiously awaiting a compiler error every ime I pressed the return button, or when running, getting some Exception and if not, whether my answer was correct. That was pretty time-consuming, but I felt I got a much better understanding of the exercize that way. And it was a lot more exciting than looking up the answer in the book.
There are three kinds of actuaries: those who can count, and those who can't.
We routinely get requests for help from students while solving mock questions where an IDE is the culprit for causing confusion. Check out the links on this page to see the sort of problems newbies may face while using IDE for certification exam preparation.
Paul, thanks for your slew of "Real Life Examples" of students being confounded by differing behavior in IDE's.
There is one more that may be specific to Eclipse. Console (but not Scanner!) is in scope for the 819 exam.
When debugging in Eclipse, or even NOT debugging, a line such as:
var console = System.console();
will always return null, and you can't make any use of any methods on it.
That "System.console does not work in Eclipse!!" is a different behavior from command line for 15 years now (just checked it in the 2021 version, still doesn't work), from comments on that bug report I hear it does work in others.
This one came up in Real Life while I was studying System.console recently, other IDE's will have other specific differences in behavior, but Mikhail and Paul's many examples should suffice.
Knowing the names of the required imports is one of the riskiest areas in using the IDE's. It is truly easy to forget the locations of the packages of some rather key classes for the exams because the IDE keeps helpfully showing you / adding them for you.
I also started using the IDE and JShell a lot during my preparation, as a result I am re-studying the command line and module sections again after the fact. Right now, in fact.
RTFJD (the JavaDocs are your friends!) If you haven't read them in a long time, then RRTFJD (they might have changed!)
A farrier used to learn to make his own tools first before forging other things. A programmer should also forge his own IDE. This is possible, for example, with Emacs or Vi and an integrated programming environment for adapting the IDE (Lisp). Anyone who can do this has their own editor for life across all platforms.
While all the arguments might be true for who begins to learn, when you develop software for a living you want the best IDE on the market and that is IntelliJ right now. For example working with legacy code that is 50.000 pages big you really need a tool that helps you.
But yes, why not try to write your own IDE in your free time. This is fun and you learn a lot.
snakes are really good at eating slugs. And you wouldn't think it, but so are tiny ads: