Live data from Hacker News

The Manuscripts of Edsger W. Dijkstra

cs.utexas.edu

21–30 of 129 posts

Re: The Manuscripts of Edsger W. Dijkstra

#21
post #16

Seeing book sections or chapters starting with zero, always confuses me. I know that this convention is probably inspired by the fact that the addresses of memory locations start with zero. But that case was due to that fact one of the combination of the voltages can be all zeros. So, it's actually the count of combinations, and I don't think it can be used for ordinal enumeration of worldly things such as book chapt…

Building floor numbers in at least a few countries I’m aware of start from zero or “G” ( or the local language equivalent for “ground“) with 1 being the first story above the ground.

I think you’re just biased to think that starting must “naturally” begin with 1.

Zero is just a good a place to start and some people do start counting from zero.

Re: The Manuscripts of Edsger W. Dijkstra

#22
post #16

Seeing book sections or chapters starting with zero, always confuses me. I know that this convention is probably inspired by the fact that the addresses of memory locations start with zero. But that case was due to that fact one of the combination of the voltages can be all zeros. So, it's actually the count of combinations, and I don't think it can be used for ordinal enumeration of worldly things such as book chapt…

The reason is that, for an array (or vector), you find the memory position for the i-th element with the base address + i*word_length. And the first element is in the base address - so has index 0.

Re: The Manuscripts of Edsger W. Dijkstra

#23
post #16

Seeing book sections or chapters starting with zero, always confuses me. I know that this convention is probably inspired by the fact that the addresses of memory locations start with zero. But that case was due to that fact one of the combination of the voltages can be all zeros. So, it's actually the count of combinations, and I don't think it can be used for ordinal enumeration of worldly things such as book chapt…

A zeroeth century sounds reasonable to me.

Re: The Manuscripts of Edsger W. Dijkstra

#24
post #14
post #10

I really enjoyed the this one: Some meditations on Advanced Programming https://www.cs.utexas.edu/~EWD/transcriptions/EWD00xx/EWD32.... As I'm currently in a Functional Programming course in Haskell... This resonated. I know that we'll always need to write programs which directly interface with memory. However, when we don't need to do that... Maybe we shouldn't write programs in this style (i.e. imperative). Maybe w…

Alas, I live an a world where efficiency does actually matter, and elegance to me includes efficiency. I live in a world of embedded software, portability, and reliability. In this regard, almost every single functional language is an utter failure, because they require runtimes and big fat common libraries. Even golang is borderline. Haskell has little chance. Generally I think this does answer the question about wh…

You brought up something interesting. I believe academic computer science originated from at least three cultures: pure mathematics (Church, Turing, Kleene, Dijkstra), electrical engineering, and psychology (Licklieder). I say “at least” since there may be other cultures I’ve overlooked. These three cultures have different views on programming: the EE-based culture emphasizes taking full advantage of the underlying hardware, the math-based culture emphasizes proof, and the psychology-based culture emphasizes human factors.

The challenge is reconciling these three views of programming: the holy grail is a programming language that is ergonomic and expressive, yet is also amenable to mathematical reasoning and can be implemented efficiently. I wonder if there is a programming language theory version of the CAP theory in distributed systems, where one compares performance, ease of mathematical reasoning about code, and human factors?

Re: The Manuscripts of Edsger W. Dijkstra

#25
post #16

Seeing book sections or chapters starting with zero, always confuses me. I know that this convention is probably inspired by the fact that the addresses of memory locations start with zero. But that case was due to that fact one of the combination of the voltages can be all zeros. So, it's actually the count of combinations, and I don't think it can be used for ordinal enumeration of worldly things such as book chapt…

Dijkstra wrote a rather famous screed against 1-based indexing, so it's more of an inside joke.

You're also wrong about there being no 0th mile. https://www.atlasobscura.com/places/u-s-route-1-mile-0-sign

Re: The Manuscripts of Edsger W. Dijkstra

#26
post #19

Earlier quoted context omitted.

There is however the zeroth element of a vector in most programming languages.

Zero is not an ordinal number. There can be a vector element indexed with zero, but it is not "zeroth" element. Book chapter numbers are ordinal numbers.

But what is there to gain with this distinction?

Just the convenience of having an ordinal number to say? Rather than saying "chapter 0, chapter 1, chapter 2" one can say "the fourth chapter"? Or is it the fact that the chapter with number 4 has 3 chapters preceding it?

On first glance I find this all rather meaningless pedantry.

Re: The Manuscripts of Edsger W. Dijkstra

#27
post #16

Seeing book sections or chapters starting with zero, always confuses me. I know that this convention is probably inspired by the fact that the addresses of memory locations start with zero. But that case was due to that fact one of the combination of the voltages can be all zeros. So, it's actually the count of combinations, and I don't think it can be used for ordinal enumeration of worldly things such as book chapt…

Usually the chapter 0 is preliminary or prerequisite material. It makes sense in an obvious and intuitive way if you want an ordinal "before the first", even if that sense isn't a rigorous mathematical one (although I think there's no problem with it).

I guess the practice was influenced by computer science - I don't know of an example that precedes it, but one fairly early one I've found is Bishop and Goldberg's Tensor Analysis on Manifolds from 1968, with a chapter 0 on set theory and topology. Back then the authors felt the need to justify their numbering in the preface:

"The initial chapter has been numbered 0 because it logically precedes the main topics"

Quite straightforward.

There's also the "zeroth law of thermodynamics", which was explicitly identified long after the first, second, and third laws, but was felt more primary or basic, hence the need for an "ordinal before the first"

Re: The Manuscripts of Edsger W. Dijkstra

#28
post #16

Seeing book sections or chapters starting with zero, always confuses me. I know that this convention is probably inspired by the fact that the addresses of memory locations start with zero. But that case was due to that fact one of the combination of the voltages can be all zeros. So, it's actually the count of combinations, and I don't think it can be used for ordinal enumeration of worldly things such as book chapt…

If you’re at a corner and someone asks for directions, you say “three blocks that way”. That means three blocks starting from here.

Then what do you call “here”?

The name for where you start from in this scenario is usually not required because it’s obvious what you mean and everyone understands the first block means you have to first walk a block, not that where you start is the first block.

So in that sense yes we have a zeroth chapter. That’s when you’re at the beginning of the first one but haven’t read all the way.

Re: The Manuscripts of Edsger W. Dijkstra

#29
post #16

Seeing book sections or chapters starting with zero, always confuses me. I know that this convention is probably inspired by the fact that the addresses of memory locations start with zero. But that case was due to that fact one of the combination of the voltages can be all zeros. So, it's actually the count of combinations, and I don't think it can be used for ordinal enumeration of worldly things such as book chapt…

Usually the chapter 0 is preliminary or prerequisite material. It makes sense in an obvious and intuitive way if you want an ordinal "before the first", even if that sense isn't a rigorous mathematical one (although I think there's no problem with it). I guess the practice was influenced by computer science - I don't know of an example that precedes it, but one fairly early one I've found is Bishop and Goldberg's Ten…

Hopefully they don't discover another more fundamental law, to be called as "minus oneth" law
Post reply on HN