3 ms·
If there are no convincing arguments one way or the other, then "what everybody else does" becomes the convincing argument. Why change established conventions f
by bzxcvbn 4y ago
If there are no convincing arguments one way or the other, then "what everybody else does" becomes the convincing argument. Why change established conventions for no good reason? There's no reason for curly braces to indicate control blocks and square braces to indicate indexing, but if a language swapped the two, what would you say?
- ModernMech 4y agoIndeed, and if you add up all the users of 1-based languages (Fortran, Matlab, R, Excel, etc.) and 0-based languages (C, C++, Java, Python, etc.), I think you’ll find that the 1-based languages have vastly more programmers. Going by popularity, 1-based indexing is the established convention.
- bzxcvbn 4y ago> I think you’ll find that the 1-based languages have vastly more programmers. Any shred of evidence for that? Listing four languages for each won't cut it.
- ModernMech 4y agoExcel alone has more users than all other languages combined, so it's not even close.
- anothernewdude 4y agoAnd how many of those users index anything? Heck given the languages you'd write macros for excel, they really screwed up by picking 1-based.
- ModernMech 4y agoIndexing is the primary operation in Excel and one of the first things you learn how to do in the language (selecting a range of cells). It’s how you refer to anything, by indexing into the global cell space. Given Excel’s massive success and nontechnical user base, which again is larger than all languages combined, it’s hard for me to see 1-based indexing was a mistake. I have experience teaching novices how to program, and 0-based indexing is always a sticking point of confusion. So from my perspective, 1-based indexing is the right choice for excel given the user base and programming style.
- goatlover 4y agoYes, but not so much in scientific computing, where scientists and mathematicians do a lot of the coding.
- kgwgk 4y agoBecause 1-based languages like Fortran, Matlab, R or Mathematica are less used in scientfic computing than elsewhere?
- goatlover 4y agoMore used in scientific computing, which was my point, because only programmers think of indexing based on offset instead of the first positive integer. Nobody outside of programming in C/Unix inspired languages starts counting at 0.
- kgwgk 4y agoI may have misinterpreted you comment. When someone wrote “Going by popularity, 1-based indexing is the established convention” and you replied “Yes, but not so much in scientific computing” I understood that as “1-based indexing is less used in scientific computing compared to general computing”.
- goatlover 4y agoOh, either I replied to the wrong person or misread the parent.