On Tuesday, September 29, 2015 at 10:20:18 AM UTC, 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"
>

I think, this may be a little unfair to Julia. Python (and Perl) succeeded 
not because it is fast (only because it has fast development times - to 
begin with at least). Julia is expected to be fast, compared to C, Python 
isn't. Even if Julia were as slow as Python, it seems to be a better 
language - more maintainable, as more static and doesn't really have 
duck-typing (and Hoare's "billion dollar mistake"), right?

(although, as always with first-time coders, code organization and 
> readability might still leave some things to wish for...).
>
> 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*.
>

Right, but even your code that is written to be slow should work (no 
segfaults..) and not be slower than Python? At least, those would be 
exceptional cases, all that I would like to know about as I see no good 
reason for it.

The way I see it, yes, type-instability makes your code way slower, but 
isn't that (roughly) the same as in Python, where all code is 
"type-unstable", because of duck-typing? That is or was at least the 
default. Now PyPy and Numba etc. helps (that didn't exist in the 
beginning/10 years ago)

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". Although the statement isn't untrue, it's 
> very off-putting - 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
>

Only for fast code, not "correct" code. And 90% of code isn't 
speed-critical. To a beginner this seems very good. First you learn the 
basics. You can prototype and later optimize ("premature optimization is 
the root of all evil"?).

*why* you did it wrong (type stability, difference between abstract and 
> leaf types, difference between anonymous and named functions etc).
>
> 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.
>
> Currently, though, the success of any general programming language or tool 
> seems to hinge mostly on what you can build with it (Objective C is ugly as 
> hell
>

yes.. You can actually call Objective-C (OS X) from Julia.. I think Android 
support should come first, then iOS support. Neither should be too hard, 
possibly Apple would object..

-- 
Palli.

Reply via email to