One debate that I thought would be mentioned is "Goto statement considered harmful", "'GOTO Considered Harmful' Considered Harmful.", and "GOTO Considered Harmful" Considered Harmful' Considered Harmful?" I think it's somewhat disappointing that a lot of CS education always mentions Dijkstra's original argument, but not the other side. The latter two can be found here: http://web.archive.org/web/20090320002214/http:/…
That's because the original Dijkstra argument was part of a research line that created structured programming. The essay (and the other papers) has really nothing against the usage on that your first link. The real problem was goto into loops or subs, not out of them, and not as switch statements. Current languages mostly don't even allow the bad kinds anymore, so people can ignore history, and complain that "goto is…
The empirical approach would be to compare outcomes of different approaches, trying to control the independent variables.
But CS instead seems to be run by polemic, "Well, obviously..." rhetoric, and tribal affiliation.
I've yet to be convinced this is the ideal way to improve the tools and techniques of CS.