5 ms·
This makes a lot of sense in the context of programming languages, where counting usually starts "where you are", thus 0 moves forward. But it doesn't really a
by _vya7 10y ago
This makes a lot of sense in the context of programming languages, where counting usually starts "where you are", thus 0 moves forward.
But it doesn't really apply in the natural world, where 1 is a much better starting number for probably all contexts where you have to number or reference things in an order.
Maybe this clarification is redundant, I don't know. But when I read the headline, I assumed it was talking about everywhere, which is why I found it interesting and even clicked it in the first place.
- joatmon-snoo 10y agoDijkstra is arguing in the context of natural numbers, which in the standard naive set-theoretic construction starts with 0.
- thanatropism 10y agoI've only seen naturals start with zero in Calculus 101 books. Any "introduction to real analysis for third-year undergrads" will do 1, at least in my experience.
- joatmon-snoo 10y agoDespite having a math degree, somehow I never took an analysis class, so I can't common on that specifically (I do believe that's one of the places where analysis diverges from other field's conventions; that being said, I do believe it is fairly standard practice to specify whether naturals start from 0 or 1 in a paper). In naive set theory, starting with 1 poses some problems (specifically, you don't have numbers yet, so you start with the notion of the empty set, which you use to define 0, and then proceed from there). Starting the naturals from 0 is also problematic in group theory, since you lose the additive identity.
- Al-Khwarizmi 10y agoIt does make sense in the natural world for distance and time, though. For example, when you "count to ten" you are not counting 10 seconds if you start at one, but 9 seconds, as you say "1" on second zero. To count 10 seconds, you need to start at zero ("where you are", as you mentioned). Same for distance. I'd say that the only situation where it makes sense to count from 1 is when you are counting objects. Of course, counting objects is so important that it dominates people's perception of numbers and counting.
- x1798DE 10y agoIf you're counting off seconds, you say the number of seconds that elapsed before your declaration: "pause one, pause two, ..." So when you get to 10, you have said 10 numbers and there have been ten pauses. The "you are only counting 9 seconds" thing would only make sense if the counting period starts when you say the first number, which is not how I usually do it...
- Jtsummers 10y agoThat first pause being preceded by what? "Go"? A button press? A pistol shot? All surrogates for "0".
- junke 10y agoI agree that counting from zero has nice properties. But I must concede that e.g. in music, the surrogate for zero is the "first" beat. You are basically counting when intervals of time start, not when they end. The first second ends with the second beat (pun intended). |------------|------- t0 t1 ^ ^ First Second
- Jach 10y agoI typically only put the pause before one if I internally count a 0 first. :) But almost always I start the count and then pause. If I'm counting to 10, I'll start at one, and when I reach ten, still pause at the end before taking action. Similarly with counting down: if I'm counting down from 3, I don't pause, then say 3, I say 3, then pause. When coordination is needed, to reduce ambiguity I and pretty much everyone I've met say something that's not a number to signify an action starting (like "go!", or "start!"). The only other variant I've come across occasionally that puts the pause before is really just moving the non-number element to exist before the pause -- i.e. "on the count of 3 pause one, pause, two, pause, th(everyone starts)ree!".
- Al-Khwarizmi 10y agoMaybe this is culture-dependent, but at least in my environment, people who do this don't make a conscious pause before the "1". For example, when I played hide-and-seek as a kid (and when I see kids playing now), the commonly accepted rule is that you can start running when the player who counts says "1". So you effectively have 9 "time units" to hide, not 10. Anyway, if you do make a conscious pause, I would argue that you are effectively counting from 0 even if you don't pronounce 0 due to the bias against that number caused by counting objects. The first pause needs to start somewhere, the start of that pause is in your mind (even if you don't pronounce it) and it corresponds to 0.
- rubber_duck 10y agoIt also makes sense when counting time, because then every timestamp is equal to duration from start (eg. it annoys me that in Bender by default the first keyframe is 1 and not 0, because if you want something that lasts 100 frames then it ends at 101 frame)
- Sean1708 10y agoSurely that can't be true? If it lasts for one frame it ends on one, if it lasts for two frames it ends on two, ... if it lasts for 100 frames it ends in 100. Or am I missing something?
- Nadya 10y agoThe first frame is usually not considered a frame as no animation comes from it - but starts from it. So the second frame is actually the first frame of animation. So if you want 100 frames of animation - you need 101 frames. Therefore your first frame is really "0" and you start counting (moving) from there.
- Sean1708 10y agoAh yeah, that makes sense.
- jhbadger 10y agoAnd nearly every mathematical context as well. There's a reason why R, Julia, Mathematica, Matlab, etc. use 1-based numbering -- it lets you translate standard formulas into code without fiddling with numbering.
- sincerel 10y agoIt lets you translate freshman level math problems with the same indices. As soon as you deal with Fourier transforms, Vandermonde matrices, polynomials, or pretty much anything where the array index is related to the value in the array, zeros make more sense. People like 1-based because they're familiar with it, and that's fine, but pretending that it makes more sense because their familiar with some math that uses 1-based is silly.