3 ms·
I've used Julia for prototyping Monte Carlo and data assimilation algorithms, and also solving simple (1d) nonlinear PDEs (Fourier-spectral code with exponentia
by kkylin 10y ago
I've used Julia for prototyping Monte Carlo and data assimilation algorithms, and also solving simple (1d) nonlinear PDEs (Fourier-spectral code with exponential RK timestepping -- not very complicated as these things go). It's also more or less completely replaced Matlab for me in terms of plotting and visualization (most of what I need is very simple). So far it has been very pleasant, so long as one remembers that breaking changes can and do occur between versions.
I generally find Julia to be a more expressive and fun language to program in than R or Python. It may be my background -- I've done a fair bit of work in Scheme, and in many ways Julia has lots of what I liked about Lisp in it. I don't need all the numerics and stats libraries that R or Python have; what little I need is easy to cobble together very quickly in Julia or has already been implemented. And the FFI is easy to use; calling C is pretty straightforward.
- baldfat 10y agoI taught myself Racket and that was the single biggest changer in terms of my programming in R and enjoyment of the language. After digging around I learned that scheme was a major influence in R's creation. Your comment now makes me excited to give Julia a spin.
- kkylin 10y agoI should add that one of the things I really like about Julia is having closures and higher-order functions, and also lambda. Unlike other Schemers switching to Julia, I don't miss not having tail recursion (if I was writing the kind of code that's more naturally recursive, I likely would have used Scheme / Lisp to start with). About the only thing I have a hard time wrapping my head around is writing macros in Julia -- CL-style macros are somehow a lot easier to think about. But this is likely to change with more experience. Also, I haven't needed Julia macros very oten.