3 ms·
Then challenge yourself to write some code completely agnostic to the indexing, which will force you to learn some neat features. Doing pointer arithmetic with
by mcabbott 8y ago
Then challenge yourself to write some code completely agnostic to the indexing, which will force you to learn some neat features. Doing pointer arithmetic with your bare hands (however much muscle memory they have) is very seldom necessary, computers are pretty good at that stuff.
- bluescarni 8y agoI thought one of Julia's compelling features is the ability drop down to the level of index arithmetics without losing performance (as Python does, once you start writing manual for loops). If I want to stick with higher-level construct for dealing with "collections of numbers", I can use numpy arrays in Python, the STL in C++, etc. Do you think Julia's high-level constructs are much better than the competition? E.g., how do they compare with C++20 ranges?
- Sean1708 8y agoYou can do some pretty interesting things with indexing in Julia: https://julialang.org/blog/2016/02/iteration https://julialang.org/blog/2016/02/iteration
- mcabbott 8y agoMaybe I phrased that poorly: you can indeed write the loops yourself (without a speed penalty) as advertised, to do things which are hard/ugly/impossible in numpy. But very often you can do this without dropping all the way down to explicit pointer arithmetic, where you'd have to care about base-0/1 and off-by-one errors (again without penalty). This in-between zone is what I was trying to suggest is worth exploring. See for example https://julialang.org/blog/2016/02/iteration https://julialang.org/blog/2016/02/iteration for a taste. Someone more polyglot than I am will have to comment on C++ comparisons.