Julia for Matlab users
sveme.org
sveme.org
So I'm finding I can write the code very quickly, but if I get an error like this I lose all the time I gained and more. I'm sure this is a matter of it being such a young language, and also that someone more experienced would avoid many of the pitfalls catching me. But for noobs like me it's difficult. I hope they improve this soon.
The only other irk I have is that an ASCIIString doesn't have UTF8String as a parent type (ASCIIString <: UTF8String -> false)
I should have kept better notes. Going forward, I'll try and reproduce in small amounts of code and file reports.
One was pretty silly, I used "end" as a variable name. It blew up with a syntax error on a line where I was assigning to it, but didn't tell me what line or what variable name. (But it did say something about an unexpected assignment, so it knew where the problem was, it just didn't tell me.)
I've got the stacktrace issue right now with an error regarding an incorrect byte index into a unicode string. I get why that happens, just can't find what's causing it in my code.
Edit: changed to an ascii string after seeing someone mention it here, now I'm getting a BoundsError in copy! at array.jl:49, and again the stacktrace tells me nothing else besides the top-level function call.
I love Julia, but for wider adoption, it will definitely need integration with a good IDE that "hides complexity from it's users".
I quite like it and look forward to all the conceptual issues being settled and a stable version delivered. Lotsa' smart people providing input on that but that's both a blessing and a curse.
To much variety of intrinsic data aggregates for me but they justify that on it being compiled and very performance sensitive. Thus a lot of "you can do x on an A but not y. But if you must y, a B is provided instead.'
Starting with Stefan Karpinski's first comment.
Matlab may be an ugly language, but offering this kind of amateur software as a replacement is just pathetic. Octave, R, and various python packages have been viable for years.
using PyPlot
x = linspace(0,2*pi,1000); y = sin(3*x + 4*cos(2*x));
plot(x, y, color="red", linewidth=2.0, linestyle="--")
title("A sinusoidally modulated sinusoid")http://dcjones.github.io/Gadfly.jl/
Julia aims for a different niche than R or Python, and is far more performant than Octave.
Julia's loops are more performant. Its vectorised code is not.
http://stackoverflow.com/questions/19208014/is-the-julia-lan...
If you like MATLAB/pyplot/matplotlib style, PyPlot.jl is for you.
If you like ggplot2, Gadfly.jl is for you.
If you like gnuplot, Gaston.jl is for you.
Finally, but not least, is Winston.jl, which is its own thing altogether.
I think in many cases its good for packages that overlap to come together/one to become dominant, but I don't think that applies here.
https://github.com/stevengj/PyPlot.jl
https://github.com/dcjones/Gadfly.jl
(Full disclosure, I'm affiliated)
[0]: https://github.com/timholy/HDF5.jl [1]: https://github.com/meggart/NetCDF.jl