enter image description here

I was reading the Virtualbox coding guide, and I saw this. What exactly does this sentence mean?

Background: Virtualbox is basicly a virtualization application. You can run another operating system while running the first on your PC.

The term goto is a programming language keyword. It makes use of unstructured branching and this is considered to make the code unnecessarily complicated.

Dijkstra, Dutch computer scientist, was opposed to goto. In 1968 he wrote a paper, Goto Statement Considered Harmful.

What is the meaning of "That Dijkstra is dead is no excuse for using gotos."?

  • 2
    It means "just because the guy who hated GOTO is dead, and he can't stop you or criticize you for using GOTO, is no excuse for using GOTO. Don't use GOTO!". I guess the key confusion for you is that = "just because".
    – Dan Bron
    Mar 14 '17 at 21:45
  • 1
    Do you understand the basic meaning, "You should not use the fact that Dijkstra is not alive to fight back as permission to use Go-To statements to create spaghetti code"? Mar 14 '17 at 21:47

Edsgar Dijkstra is famous for (among other things) writing an article in, I think, Communications of the ACM entitled "Goto Considered Harmful", in which he basically denounced the frequent and careless use of "goto" statements in computer languages such as FORTRAN and Algol.

The line "That Dijkstra is dead is no excuse for using gotos" can perhaps be better understood if you understand that the word "that", in this case, is an idiom of sorts which means "the fact that". Thus the sentence could be read "The fact that Dijkstra is dead ..."

So the sentence is saying that the use of "goto" statements in computer languages is still a bad idea, even though Dijkstra is dead.

  • 1
    Dijkstra's opinion appeared in a letter to the CACM, Volume 11, Number 3 (March 1968). This predated C by about four years.
    – deadrat
    Mar 14 '17 at 22:11
  • @deadrat - I didn't read it until about 1973.
    – Hot Licks
    Mar 15 '17 at 2:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy