Re:Why data scientists should start learning Swift
by kmill on Thursday April 26, 2018 @02:49AM
(#16929402)
The way I've thought about this is that it's about whether an index is the name or the offset of an element of an array. Indices have a torsor-like structure, where you can subtract indices i and j to get an offset j-i from index i, and there is the relationship a[j] == a[i + (j-i)]. Zero-indexing is the special case that the name is the offset from the first element.
Because of this, I figure any language that supports 1-indexing should also support arbitrary ranges for the indexing, like in Ada. (Basically, what's so special about 1?)
Re:Why data scientists should start learning Swift
by groundCode on Thursday April 26, 2018 @02:51AM
(#16929414)
I always thought it neatly mimicked the way we think of age. When you are born you start at 0. You only turn 1 after you have lived a year.
Re:Why data scientists should start learning Swift
by smt88 on Thursday April 26, 2018 @08:39AM
(#16931282)
That's an argument for starting at 1, not at 0.
At age 0, you have no elements in your array of years. So the first year is also element 1.
If you want code to reflect the way you've done counting and arithmetic your whole life, you'd want it to start at 1.
Re:Why data scientists should start learning Swift
by crangos on Thursday April 26, 2018 @05:17PM
(#16935887)
That would be defining it as a time span and using the time since start as index.
Which to me is one step away from using the timepoint as the index iteself (zero as start), verus (1 year from zero).
How would you index the time before the first birthday?
Funny how I always thought zero-based numbering[0] was a hack. Just in computer science a hack will become the right way? Any other fields where hacks became the new norm due to technical restrictions?
Your statement is a opinion.
To add to the list of languages using arrays in a "gross" way: pgsql, pascal, lua.
[1]: https://en.wikipedia.org/wiki/Zero-based_numbering#Origin