4 ms·
I used Julia for both a machine learning course and a neural networks course this past semester, and I really enjoyed the experience of developing in the langua
by nyc640 12y ago
I used Julia for both a machine learning course and a neural networks course this past semester, and I really enjoyed the experience of developing in the language. I found it really a lot faster than python/numpy and a lot more sane than Matlab. Some key syntactical structures are also very purposefully kept similar to Matlab so it was very easy to translate code between the two, which is incredibly useful in scientific computing. I definitely recommend people check it out; however, I will warn any potential users that the run times of Julia programs right now (as of 0.3.x) are incredibly slow if you need to include any third party libraries. I understand they're working on this for a future release (maybe 0.4), but even including a simple plotting package in your code currently causes a 20-40 second overhead before your code actually starts running because the packages aren't precompiled.
Oh, and one more tip for OSX users wanting to try out Julia. You might want to just use the app bundle provided on the Julia homepage rather than compiling from the homebrew tap. I spent close to an hour waiting for all the dependencies to compile before giving up when I realized I don't want to be doing this every time it's updated.
- kartikkumar 12y agoGood tip! I've had a number of issues with the Homebrew tap. I've yet to dive in head first. I've been playing around with Juno [1] and like it a lot so far. I hope we'll see more advanced tutorials appear for Julia soon. I'm quite comfortable with using C++ now for all my scientific computing code, but it really isn't "nice" to work with. It would be nice if there was something like SciPy [2] for Julia, to get researchers going quickly. [1] http://junolab.org/ http://junolab.org/ [2] http://www.scipy.org/ http://www.scipy.org/
- StefanKarpinski 12y agoFor what it's worth, when building from source, the first time compile is the only one that takes an hour. After that, incremental updates are pretty quick since the only thing that usually changes is Julia itself, not the bucket load of source dependencies (LLVM, OpenBLAS, FFTW, GMP, etc.). Most devs pull rebuild Julia from source several times daily – this is the best way to stay bleeding edge (if that's what one wants). Even if one doesn't want to live on the bleeding edge, checking out the release-0.3 branch and building that from source is also an option. That said, the binaries are also a good way to get Julia.