Live data from Hacker News

Vigorous Public Debates in Academic Computer Science

blog.regehr.org

11–20 of 38 posts

Re: Vigorous Public Debates in Academic Computer Science

#11
post #7

Some of those are classics. The Lipton-Perlis-DeMillo argument against program verification is a good one.[1] They demonstrated that manual programming verification via hand theorem proving is buggy. Automated theorem proving was new back then. This was an issue back in the 80s for a philosophical reason in mathematics. Mathematics classically approves of short, clever, elegant proofs. The paper-and-pencil crowd was…

These are the response letters to the editor re the De Millo-Lipton-Perlis article:

http://research.microsoft.com/en-us/um/people/lamport/pubs/l...

Re: Vigorous Public Debates in Academic Computer Science

#12

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:/…

The "GOTO considered harmful" papers seem to have been appended to Regehr's post.

Yes, I'm adding them as I learn about them her (or, in this case, am reminded about them).

Re: Vigorous Public Debates in Academic Computer Science

#15

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 isn't so bad, I've never seen anybody abusing it like he claims in the essay."

Re: Vigorous Public Debates in Academic Computer Science

#16
post #8

While not exactly a debate -- more of a fundamental difference in outlook -- these are interesting, completely opposite claims: Bob Harper[1]: > There is an alternative… without… reference to an underlying machine… [W]e adopt a linguistic model of computation, rather than a machine model, and life gets better! There is a wider range of options for expressing algorithms, and we simplify the story of how algorithms are…

pardon my anecdote but after years of imperative and OOP, ad nauseam, I went into LISP/ML, to be stateless, but then structural parametric types and "state" got closer and closer at the conceptual level, just not "mutable".

Re: Vigorous Public Debates in Academic Computer Science

#17
post #8

While not exactly a debate -- more of a fundamental difference in outlook -- these are interesting, completely opposite claims: Bob Harper[1]: > There is an alternative… without… reference to an underlying machine… [W]e adopt a linguistic model of computation, rather than a machine model, and life gets better! There is a wider range of options for expressing algorithms, and we simplify the story of how algorithms are…

[deleted]

Re: Vigorous Public Debates in Academic Computer Science

#18
I was a co-author on one of the contentious papers [0] in log-structured file systems, addressing the question of whether log cleaning could be done during idle times (yes, for any reasonable workload).

There was a surprising amount of drama and personal rivalry. While distracting, knowing that our results would be picked apart motivated us to be really rigorous.

In the end, modern file systems take the best aspects of both. Like the RISC-CISC debate, it's hard to draw a firm conclusion about the two ideas because they're tied up with the quality of implementations, and the optimal answer involves a synthesis of the ideas.

[0] http://www.eecs.harvard.edu/margo/papers/usenix95-clean/pape...

Re: Vigorous Public Debates in Academic Computer Science

#19
To be fair, these are debates about issues that are rather insignificant from a broader CS perspective. Engineering problems (methodology, network protocols, file systems, kernel implementation details) or debates that are infamous mostly due to their polemic nature (Dijkstra-Backus, or Dijkstra-Anything, for that matter).

I think it's true. In CS there are no deep fundamental or philosophical debate-evoking schisms of the likes you sometimes find in other fields. Consider economics, philosophy, physics (theory of everything) or the soft sciences.

Even the hottest problem in CS (P vs NP, of course) doesn't seem to evoke much debate among computer scientists.

Re: Vigorous Public Debates in Academic Computer Science

#20
post #19

To be fair, these are debates about issues that are rather insignificant from a broader CS perspective. Engineering problems (methodology, network protocols, file systems, kernel implementation details) or debates that are infamous mostly due to their polemic nature (Dijkstra-Backus, or Dijkstra-Anything, for that matter). I think it's true. In CS there are no deep fundamental or philosophical debate-evoking schisms…

Let's not forget about tabs v spaces though
Post reply on HN