[OT] Re: Why Physicists Still Use Fortran

jmh530 john.michael.hall at gmail.com
Mon Oct 16 21:03:31 UTC 2017


On Monday, 16 October 2017 at 18:56:03 UTC, H. S. Teoh wrote:
>
> I suppose this is like Walter not daring to write code with 
> 1-based arrays. :D  On that note, though, in D I only rarely 
> actually need to specify explicit indices.  Foreach and generic 
> code alleviates most cases of explicit indexing I'd normally 
> write in C/C++ code, and I wouldn't be surprised if much of my 
> code could actually be ported to 1-based indexing with only 
> minor changes.
>
> But I suppose if you're doing matrix/tensor math, you can't 
> really avoid this.
>
>

I always thought slicing was a more important difference for 0 or 
1-based indexing, rather than loops.

Consider D's A[m..n] vs. Matlab's A[m:n]. Matlab's is easier to 
explain to someone with a math background because you get A[m] 
through A[n, instead of A[m] through A[n-1] in Ds. However, D's 
A[m..n].length = n - m, whereas Matlab's length(A[m:n])= n - m + 
1. Thus, you often find yourself adjusting formulae all over the 
place to account for the extra "+1". Nevertheless, if you have 
more of a mathematics background, you always need to remember 
that if you wanted A[m:n] in Matlab, you need A[(m - 1)..n] to 
get the equivalent in D.



More information about the Digitalmars-d mailing list