On Tuesday, 29 September 2015 12:20:18 UTC+2, Tomas Lycken wrote: > > One thing Python does well, which Julia doesn't (yet) succeed in, is make > it easy to start coding from zero experience and get something that > executes "well enough" (although, as always with first-time coders, code > organization and readability might still leave some things to wish for...). >
You don't think Julia does that? > In Julia, it's very much possible to get something to run, but the > performance differences between well-written and not-so-well-written code > are *huge*. > But not-so-well written Julia code should be at least as fast as Python. Don't you think so? > This means that most users will show their code to someone who knows more > than they do, and more likely than not get a first reaction along the lines > of "everything you do is wrong". > I don't think that this is more true for Julia than other languages. In Python you have to worry about indentation, and they have their own conventions about how things work. Every language has some learning curve. I think Julia's is shallow. Then again, maybe I only think that because I learned many languages before Julia. > and even more off-putting is the fact that there's a lot of "computer > sciencey" stuff you need to understand to be able to grasp *why* you did it > wrong (type stability, difference between abstract and leaf types, > difference between anonymous and named functions etc). > You can get Python-like performance without getting computer-sciency. But any program that achieves good performance requires you to learn some computer-sciency stuff. People who understand how computer hardware works, or how algorithms work, will always have some advantage over those who don't. I don't think any language will ever compensate for programmer skill. I don't think it's fair to expect Python-like effort to produce C-like performance. > Don't get me wrong - I think Julia is doing a lot of things right, and I'm > glad that these "CS-y" questions are asked and handled up-front: this is > what gives Julia much of its power. Hopefully, much of the performance > difference between hacked-together-rubbish code and well-polished code will > be eradicated by version 1.0, and we'll see how popular Julia becomes then. > How do you envision that happening? I understand that compilers can get better, but no compiler will ever replace your algorithm by a cache-friendly alternative. Cheers, Daniel.
