Hacker News new | ask | show | jobs
by kungito 1910 days ago
Senior developers with 20 years of experience do not "believe" in debuggers, IDEs or writing tests. Same things are reinvented every 3 months with a new name written in a custom font. We are in many ways still in the bronze age of software development.
2 comments

> Senior developers with 20 years of experience do not "believe" in debuggers, IDEs or writing tests.

Speak for yourself. I've been paying for my own developer tooling for 25+ years.

What do you find to be worth purchasing?
Off the top of my head:

- The JetBrains suite of tools (Rider, CLion, DataGrip, Webstorm)

- Sublime Text

- Prior to offering Visual Studio Community Edition, I used to pay for MSDN if my employer didn’t supply it.

- Beyond Compare

- Recently paid for Tabnine Pro, the jury is still out if this is worth it.

Debugger is just a nice interface for prints.

IDEs should be replaced with libraries that allow one to operate over the code (or make IDEs allow you to script their AST manipulators)

Writing tests is not connected to the two above.

I’m sorry but that just means you have not have learnt how to use debug tools.
No, I know how to use them, except that in my cases I never need to look a the debugger because I rarely need to know the state of the program at a given time.

I need to know how the program ended up in that state. I can't reproduce this from a core dump or via a debugger.

> I can't reproduce this from a core dump or via a debugger.

Because you don’t know how to debug. Time travel debugging does exactly this.

You can... are you familiar with the concept of a call stack?
That’s definitely not what a debugger is. You can’t add prints to a coredump and the run->add prints->compile->loop sucks a lot, especially if the bug is hard or slow to trigger.

I think the main promise of an IDE is being integrated. But maybe it could just be done with libraries.

> You can’t add prints to a coredump and the run->add prints->compile->loop sucks a lot, especially if the bug is hard or slow to trigger.

Yeah, but the core dump doesn't give you an answer on how the program ended up in failure state, does it?

Use something other than DDD?
Debugger might be a nice interface for prints in kernel. It is also not usable with distributed systems where prints are also not all that useful and you need some kind of central logging. But developing a desktop application without debugger is like writing code with a line editor. It can be done but it is not very productive (I can still remember editing BASIC programs one line at the time).
I meant "prints" as in "logging events into a file".