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"
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..."
"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)
@bram @Ambraven when in doubt, blame capitalism. https://witches.town/media/HJmIJ5EWsJ3F82ULmL4
@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 "things are moving fast this days and we can't afford to take centuaries to master programming" reason why everything is crap today, you can't have "quality" and "fast".
Bottom line : that's probably because most of the research is about practice that prevents bugs from being introduced (strong typing the the ML family and programming practices like TDD), not debugging it (because that's too late).
But the industry is based on correcting bugs afterward, so this doesn't make a damn sens. I mean most progamming time is spent debugging, how is it not relevent to find way to make that part more efficient? And this part will never go away.
I think industrie shouldn't drive research, but they probably should push in that direction for their own sake.
@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) ^^
@Ambraven Nah, this one actually happens a lot <.<
"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!"