I like raw loops sometimes, vectorization other times. Both work fine. Synthetic benchmarks suck for producing insight or for helping performance for 90%+ of the code you write.
The real principle should be: write it however you damn well please, then if its not fast enough, look at why. Then optimize. You can follow this principle in Python/MATLAB/R, but if something is too slow you only have one resort: use a different language to speed up that part). Julia beats the competition because, if you desire, you can get down to C-like performance without any such shenanigans. I feel like this always gets lost in these sorts of discussions. /rant On Tuesday, August 26, 2014 5:19:41 PM UTC-4, Stefan Schwarz wrote: > > At the end of the day it should be to everyone clear, that *raw loops is > nothing which increases readability* nor is it an anchor of good code. > Years of C++ development (a bit more than in julia) showed that raw loops > don't go hand in hand with understanding. > (My advice to students was to avoid raw loops, whenever possible but use > STL) > > My opinion to this topic is, it is paradoxial to make users believe it is > fully dynamic but stop at the most common use-case > (the case where you want to collect easily results with shaping without > type information and such) and state its slowness, since > it is vectorised. > > If you think about what vectorisation is and to support the syntax plus > not to forget to mention it is slow is > rather confusing plus to support on the other hand broadcasting through > operators. > > So where is the line? When does something become slow? > > To have a spot on speed is fulminant, but to fall back into bad coding > practice? > (Vectorisation in numpy did make sense and was a major key to success for > scientific python). > > Why I chose Julia? > > Because it is clean and I lived with Mathematica for 12 years. Stop the > speed comparison. > Stop to avoid implementing certain algorithm's because they are known as > bad performers > which could shed a wrong light to the uberperforming julia. > > Let it grow. I want to go with julia since...it has taste/elegance. I > favour especially the latter. > > Speed? I can go back to C++/Fortran or use numba on python. So why > choosing a language > no one knows and no one wants to spend money on it? Because I want to. I > luv the design. > > I adore speed, but never was a major issue on choosing a language. (was > lisp/matlab/mathematica/python?) > I am a 14 years Mathematica user. Speed? > > I agree, this has nothing to do with the original OP's question, but was > something I've had in my head > since I've started to observe this list. > > Stefan >