Thoughts about debugging:
I think what bother me most about this is how it feel like crafting. I have nothing against crafting but it shouldn't be my job.
Imagine if we built and debugged house like we do code...
"your house crashed!
* send a bug report
* rebuild"
On the other hand, as programmer we do have the luxury to reboot and rebuild. Most of the te anyway. But I think this is taken as an excuse to build things fast and sloppily.
If we built house like we do programs:
"I want a demonstrator for next month. But it should be habitable. Don't bother to much about the foundations, you can work on those later..."
"the demonstrator is done. The bathroom isn't completely functional yet, but I doubt you will have to demonstrate that anyway.
- great! We can begin shipping the product!"
"this is an old house. The architect was an old mason who used to work with different materials."
....
Wait, this one seems too probable...
"I can't close both the door to the bathroom and the one of kitchen.
- we'll release a patch next month, but you'll have to install it yourself."
"my house is literally hoovering at ten feet above the ground!
- what bed did you install?"
Ok enough for now...
@Ambraven well, today's programming is a mix between research and crafting where we can afford low quality.
Things are moving slowly but the world is not ready to fully switch to ada/haskell/rust and taking 5 times more time to develop a software ¯\_(ツ)_/¯
@bram The world should be. So much problem arize from wanting to use old crappy stuff to "save time"...
@Ambraven you can always blame capitalism for that (not 100% the case but surely a good target)
@Ambraven also if you really want to compare: we have literally thousand of years of experience of building houses, in comparaison building software is like having not expertise and doing something totally different each day:
- a spaceship
- a pumpkin extracting factory
- a flying submarine
- a walking hospital
- a dog food dispenser synchronized on moon cycles
- etc...
It's just not the same reality.
Kinda relevent, and I'm aware of it, but things are moving fast this days and we can't afford to take centuaries to master programming.
Bttom line : I don't see many computer science research about debugging and I think there should be more.
@Ambraven @bram Regarding computer science and research, debugging is actually part of the software engineering domain.
Even if there is research on it, it doesn't mean that it solves the problem as a whole (researchers are focused on specific things) nor that it solves the problem in a practical way for a software developer :/
@Ambraven @bram Computers are not so bad for pure arithmetic computation, but they are very bad for anything else :x
That's why we need a lot of GPU and mathematical tricks just for recognizing some kittens in an image, because it implies computing partial derivatives.
But I agree with you when you say that more small industry should support research on debugging (and many other things) ^^
@Kuro @Ambraven because industry makes money of shipping things, not on having things working perfectly, so speed prevails on everything, you need to be the first to be there to win the market and having bugs is less a problem than not having enough killer features (and yes that totally sucks)