Live data from Hacker News

Julia adoption keeps climbing

hpcwire.com

21–30 of 309 posts

Re: Julia adoption keeps climbing

#21
post #8

In my modest experience the perfect Julia slogan would be: "fast as C, easy as python, but NEVER the two together" All the sentences: "When you’re writing various algorithms, you don’t necessarily want to think about whether you’re on a GPU, or whether you’re on a distributed computer. You don’t necessarily want to think about how you’ve implemented the specific data structure. What you want to do is talk about what…

Yes - if you have a real problem Julia is the way to go. If you are just banging something out to prove a point or make a delivery then Python is often much easier.

Ofc this is like Excel and Notebooks - I start doing things in Excel because I can sort out an answer in like 30seconds. Doing it in a notebook requires 5 minutes, or maybe a little longer. But... see me there, a week later after the feedback and next questions from the customer... now I am in Excel hell and I wish wish wish I had started out in a Notebook.

Re: Julia adoption keeps climbing

#22
post #12
post #9

I tested my well-optimised R code and saw only 3x to 10x performance gain. That's still not substantial enough currently to migrate a whole code base, in particular given that the libraries are also still not mature enough. The research group I'm working with also have no interest in adopting anything new, In fact most of our code is still in FORTRAN so that is something I would be more interested in migrating to Jul…

>only 3x to 10x performance gain That sounds like a lot. I can see why maturity might be an issue, but after the word only I'd expect something like 5-10%, not integer multiples.

It does sound like a lot but it depends on the actual wall clock time. If your run time goes from 10 days down to 1 day then yes, it matters a lot. If it goes from 1s down to 0.1s it might not matter so much.

Re: Julia adoption keeps climbing

#23
I teach a graduate course in optimization methods for machine learning and engineering [1,2]. Julia is just perfect for teaching numerical algorithms.

First, it removes the typical numpy syntax boilerplate. Due to its conciseness, Julia has mostly replaced showing pseudo-code on my slides. It can be just as concise / readable; and on top the students immeditaly get the "real thing" they can plug into Jupyter notebooks for the exercises.

Second, you get C-like speed. And that counts for numerical algorithms.

Third, the type system and method dispatch of Julia is very powerful for scientific programming. It allows for composition of ideas in ways I couldn't imagine before seeing it in action. For example, in the optimization course, we develop a mimimalistic implementation of Automatic Differentiation on a single slide. And that can be applied to virtually all Julia functions and combined with code from preexisting Julia libraries.

[1] https://www.youtube.com/playlist?list=PLdkTDauaUnQpzuOCZyUUZ...

[2] https://drive.google.com/drive/folders/1WWVWV4vDBIOkjZc6uFY3...

Re: Julia adoption keeps climbing

#24
post #17

Julia is way superior if you are building programs and systems, especially if you are building for sustained use (rather than something to do a job once). Julia is less error prone, more expressive, more maintainable, more performant. But if you are creating cut and shut scripts for data science notebooks Python wins... the repl start time alone is a killer for Julia, add in the requirement to actually think about st…

Julia is amazing for numerics, but the JIT is painfully slow for anything that gets looped only a few times or not at all. I don't think it is usable as a general purpose language until this gets improved somehow.

Re: Julia adoption keeps climbing

#26
post #22
post #12

Earlier quoted context omitted.

>only 3x to 10x performance gain That sounds like a lot. I can see why maturity might be an issue, but after the word only I'd expect something like 5-10%, not integer multiples.

It does sound like a lot but it depends on the actual wall clock time. If your run time goes from 10 days down to 1 day then yes, it matters a lot. If it goes from 1s down to 0.1s it might not matter so much.

Of course, but if you observe 3x to 10x performance gains across the board, you will have some programs that run in more than 1 second where it may be worthwhile.

Re: Julia adoption keeps climbing

#27
post #24
post #17

Julia is way superior if you are building programs and systems, especially if you are building for sustained use (rather than something to do a job once). Julia is less error prone, more expressive, more maintainable, more performant. But if you are creating cut and shut scripts for data science notebooks Python wins... the repl start time alone is a killer for Julia, add in the requirement to actually think about st…

Julia is amazing for numerics, but the JIT is painfully slow for anything that gets looped only a few times or not at all. I don't think it is usable as a general purpose language until this gets improved somehow.

But is that a problem apart from in scripting? If you ain't looping you ain't waiting in my experience.... Can you give an example which isn't time to plot?

Re: Julia adoption keeps climbing

#29

Earlier quoted context omitted.

Julia has the focus on scientific and numerical computing, and is overtaking the python/numpy combo in that niche. In addition to being considerably faster than python, it also has quite some innovative libraries in the area. This can also extend into machine learning, where python has been the go to language, despite its limitations. For other areas, like web programming, there is no sign of Julia replacing Python i…

> and is overtaking the python/numpy combo in that niche No, it's isn't. Julia is growing but it's far from overtaking Python at this point. > For other areas, like web programming, there is no sign of Julia replacing Python in the forseable future. That's where Go comes in.

I second this. Python is actually starting to get significant traction in the scientific community. Depending on the field, R, Fortran and Matlab (and even C++) still have a huge lead.

It's nice that Julia is getting noticed, but it's a distant blip in the radar.

The sci community is really hard to move from existing battle-tested and performant libraries.

Re: Julia adoption keeps climbing

#30

Julia is a nice language, it's just tough to compete with Python. - The beginner experience in Julia is still much worse than it is in Python. Stuff that should work intuitively sometimes doesn't, and when you get a cryptic error message, it's difficult to find relevant help online. And when you do find help, some of it is out of date because the language has changed over the past few years. - You can squeeze a lot o…

This is an insightful and level-headed comment that applies equally to R.

Although Julia is a growing alternative to Fortran/C/etc for long-running computations, it remains awkward and unpleasant for interactive analysis. Users familiar with Python/R/etc must weight the benefits of Julia against its slow library startup, its cryptic error messages, and its thin documentation.

Also, the lack of a community repository for well-vetted Julia libraries can limit uptake by professional researchers who must be able to trust their tools. A real strength of R (in comparison not just to Julia but also to python) is that such a repository exists, and that it has automated testing across a range of computer architectures and versions of R, including not just unit testing within individual libraries, but also testing of related libraries.

Post reply on HN