News for hackers. Stuff that matters.
Re:Scriptable Operating Systems with Lua [pdf] by krapp on Tuesday September 30, 2014 @11:33PM (#8392680)
Arrays start at zero because what you're counting is how far you're moving a pointer from the initial address in memory, not the items themselves. Array[0] is literally 'read what's at pointer sizeof(n)+0 from the start.' Zero-based indices make perfect sense when you know what they actually indicate.

Although to be fair, starting with one and actually counting the items makes sense too, and seems more intuitive, and this may not even apply to Lua at all. But one-based indexing is still wrong regardless.

Re:Scriptable Operating Systems with Lua [pdf] by sitkack on Wednesday October 01, 2014 @01:33AM (#8392991)
a) it doesn't matter b) lua doesn't have these pointer things you speak of. If you are going to hate on 1 based indexing at least have the fine style of EWD.
Re:Scriptable Operating Systems with Lua [pdf] by krapp on Wednesday October 01, 2014 @09:50AM (#8394261)
Off by one errors are enough of a problem without having to remember that lua decided [1] means something other than what [1] means in almost every other language, so plan accordingly.

It's not critical, but it does matter.

Re:Scriptable Operating Systems with Lua [pdf] by sitkack on Wednesday October 01, 2014 @06:49PM (#8398307)
c) the audience. Lua was designed a scripting and data environment to run simulations in Fortran. So the customer was already using 1 based indexing.

https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/E...

Re:Scriptable Operating Systems with Lua [pdf] by krapp on Wednesday October 01, 2014 @07:10PM (#8398406)
Well... Fortran sucks.