Developers didn't fully understand the language.
There were no decent development tools available.
Debugging is universally necessary across all browsers and languages. Although some debugging tools offer features that other tools may not have, all debugging tools are based upon the following concepts:
Breakpoints: tell the debugger where it should break or halt code execution. You can set a breakpoint on any line in your code; the debugger will pause there.
Stepping: lets you execute one statement of code at a time. There are three ways to step through code:
Step Into: executes the next line of code. In the case of a function, the debugger executes the function and breaks at the ...