2

I believe this is still on topic.

This question comes from a mixture of curiosity and exasperation. A colleague refuses to use native debugging; whether in a stand-alone debugging tool or in an integrated IDE. I wouldn't care, except the colleague constantly complains he doesn't understand what the code is doing in the project we are working on and provides poor code contribution in return, affecting my work output.

Remarks about documentation, code clarity etc aside, I want to build a strong argument for the use of an IDE or at the very least a debugger. One point is that most modern IDEs come bundled with an inbuilt native debugging feature with very little setup involved.

This question is a tangent to one flippant point that crossed my mind; as to how long people have been using native debugging for. I cannot actually find out much information on when people started using native debuggers or when it became 'wide spread'.

When I say native debugging, I mean using breakpoints to pause code execution, see all variable values in the current scope, the call stack and stepping through the code. As such, echo and console log is out.

8
  • Since this is more about history than theory, it might get better answers on retrocomputing.stackexchange.com (although check their Help Center first). Looking for the history of "IDEs" as a concept might be a good place to start, e.g. this Wikipedia article has a history section mentioning some early tools.
    – IMSoP
    Oct 20 '20 at 13:18
  • 2
    It's not quite clear what you are looking for. IDEs and debuggers are really two quite independent concepts, and in particular, "native debugger" and "native debugger integrated into an IDE" will be quite different since IDEs are a newer concept (~1964) than native debuggers (~1961). In your question, you rigorously define the concept of "native debugger", but that is completely irrelevant because the date you are looking for will purely be limited by the invention of the IDE, not the debugger. Oct 20 '20 at 14:33
  • Fair comment, I guess both first 'native debugger integrated into an IDE' and first 'native debugger' would be good to know. I didn't realise for example you could have native debuggers separate but I guess that makes sense
    – myol
    Oct 20 '20 at 14:46
  • 1
    What does constitute an IDE? I consider my terminal and to some extent the rest of my Dev machine's OS as an IDE. But people who uses prepackaged IDE probably won't consider what I have to be an IDE. Some prepackaged IDE comes with just basic tooling actually preinstalled, and requires you to install many plugins and hacks to get into a state that can match the level of integration of my Dev setup. Also, a lot of standalone debuggers are often better than the ones pre-installed in an IDE.
    – Lie Ryan
    Oct 20 '20 at 17:52
  • 1
    The flippant response is standalone tools are usually better than integrated ones, because the developers are focused on the experience of that one tool, and you can assemble a toolbox that's perfect for you. Swiss army knives are handy in a pinch, but I'd still rather use a standalone screwdriver if I had one close at hand. When people choose not to use an IDE, it's not because they haven't heard of them. Oct 22 '20 at 13:40
1

According to the Jargon File, the PDP-10 Reference Handbook (1969) said:

DDT was developed at MIT for the PDP-1 computer in 1961. At that time DDT stood for “DEC Debugging Tape”. Since then, the idea of an on-line debugging program has propagated throughout the computer industry.

So people have been using debuggers since at least 1961, and the became widespread by 1969 at the latest.

0

The first one I personally used was LightSpeed Pascal for the Mac. introduced in 1986. I was new to programming at the time, so I’m not sure what came before it.

MacNosy offered symbolic debugging (showing source code and disassembled asm), and came earlier but wasn’t part of an IDE of compiler.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.