A New Way to Debug Code
The inability to set a breakpoint in the .jsp of a .jsf page within the IDE (IntelliJ IDEA, Eclipse, RAD, NetBeans) itself and see the code pause execution - providing insight into all the elements available to the developer - took me off guard during that first week of the project. As a result, I needed to browse the code within my browser (Chrome) and set all client-side breakpoints in the instance of the code the session was using. With the debugger on my API, I now needed to manage two different debugger sessions as part of the development process.
Inability to Use Strict
"use strict" did not exist - opening the potential for unexpected coding errors to slip passed the developer. Without the enforcement option in place, I could easily forget to initialize a variable prior to use ... or worse yet, introduce a new variable unintentionally through a typo at some point in the code. Fortunately, this example of a world before
"use strict" was easy to resolve, once I understood the challenge.
Scoping - block level scopes and variable hoisting provided challenges until the let keyword was introduced.
Function Creation - understanding how functions are created is important - to avoid having redundant functions generated in the target instance of your program.
Have a really great day!