News for hackers. Stuff that matters.
Re:Swift: Google’s Bet on Differentiable Programming by microtherion on Thursday April 09, 2020 @12:47PM (#22824459)
0..<15 is a range of numbers from 0, up to but not including 15. 0...15 is the corresponding range including 15.

I find this notation slightly clearer than the python version. It took me some time to remember whether range(15) includes 15 or not.

Re:Swift: Google’s Bet on Differentiable Programming by redbergy on Thursday April 09, 2020 @01:00PM (#22824641)
Also, does it start with 0 or 1 (or -3023 for that matter)? As a programmer you would assume of course it starts at 0, but since this thread talks about "non-programmer" academic types I think it's worth mentioning. What if I want a range of 1-15, or 20-50, can I still use range()? I can't tell from the Python example but I can tell exactly what I would need to change with the Swift one to make it work exactly how I'd want.
Re:Swift: Google’s Bet on Differentiable Programming by microtherion on Thursday April 09, 2020 @02:45PM (#22825824)
Very true, and this is especially important in data science, where the majority of languages, other than Python, are 1 indexed (Matlab, Julia, R, FØRTRAN).
Re:Swift: Google’s Bet on Differentiable Programming by kyawzazaw on Thursday April 09, 2020 @03:12PM (#22826095)
CS student here so not much of a highly valued input.

Once I knew these two facts, it didn't add much confusion.

1. Indexing starts from 0

2. Thus, range can be thought "from up to one before x", x here would be 15.

And I learned this pretty early and did not get confused later on.

Re:Swift: Google’s Bet on Differentiable Programming by microtherion on Thursday April 09, 2020 @05:00PM (#22827145)
You learned it for one language. Now imagine that you're working with a handful of languages regularly, some of which have 1-based indexing, some 0-based, some of which may have closed ranges, others half-open ranges.

If you're anything like me, you'll end up spending quite a bit of time looking up the documentation to the range operator to remind yourself how this week's language works again.