Julia and JuliaHub: Advancing Innovation and Growth

by xgdgscon 2/3/2025, 7:19 AMwith 67 comments

by jarbuson 2/5/2025, 2:48 PM

I've used, and am still using, Julia for my PhD research. It's perfect for parallel/distributed computing, and the neural network primitives are more than enough for my purposes. Anything I write in pure julia runs really, really fast, and has great profiling tools to improve performance further.

Julia also integrates with python, with stuff like PythonCall.jl. I've gotten everything to work so far, but it hasn't been smooth. The python code is always the major bottleneck though, so I try to avoid it.

Overall, julia is a significantly better language in every single aspect except for ecosystem and the occassional environment issue, which you'll get with conda often anyways. It's really a shame that practically nobody actually cares about it compared to python. It supports multi-dimensional arrays as a first-class citizen, which means that each package doesn't have it's own array like torch, numpy, etc, and you don't have to constantly convert between the types.

by tmvphilon 2/5/2025, 3:45 PM

As someone working with it day to day, coming from around 18 years of mostly python, I wish I could say my experience has been great. I find myself constantly battling with the JIT and compilation and recompilation and waiting around all the time (sometimes 10 to 15 minutes for some large projects). Widespread macro usage makes stack traces much harder to read. Lack of formal interfaces means a lot of static checking is not practical. Pkg.jl is also not great, version compatibility is kind of tacked on and has odd behavior.

Obviously there are real bright spots too, with speed, multiple dispatch, a relatively flourishing ecosystem, but overall I wouldn't pick it up for something new if given the choice. I'd use Jax or C++ extensions for performance and settle on python for high level, despite its obvious warts.

by jakobnissenon 2/5/2025, 12:22 PM

It would be much more useful to see metrics that aren't cumulative if we're interested in growth. Cumulative measurements, by definition, will never decrease, even if Julia were to fall in popularity.

by cbrunson 2/5/2025, 5:24 PM

I am a MATLAB and Python user who has flirted with julia as a replacement. I don't love the business model of JuliaHub, which feels very similar to Mathworks in that all the cool toolboxes are gated behind a 'contact sales' or high priced license. The free 20 hours of cloud usage is a non-starter. Also it seems that by default, all JuliaHub usage is default cloud-based? on-prem and airgapped (something I need) is implied to be $$$.

Open sourcing and maintaining some components of things like JuliaSim or JuliaSim Control might expand adoption of Julia for people like me. I will never be able to convince my company to pay for JuliaHub if their pricing is similar to Mathworks.

by Kalanoson 2/5/2025, 6:02 PM

With some serious repositioning, I think there is still an opportunity for Julia to displace Python tools like polars/pandas/numpy, airflow, and pytorch -- with a unified ecosystem that makes it easy to transition to GPU and lead a differentiable programming revolution. They have the brain power to do it.

The future of Python's main open source data science ecosystem, numfocus, does not seem bright. Despite performance improvements, Python will always be a glue language. Python succeeds because the language and its tools are *EASY TO USE*. It has nothing to do with computer science sophistication or academic prowess - it humbly gets the job done and responds to feedback.

In comparison to mojo/max/modular, the julia community doesn't seem to be concerned with capturing share from python or picking off its use cases. That's the real problem. There is room for more than one winner here. However, have the people that wanted to give julia a shot already done so? I hope not because there is so much richness to their community under the hood.

by culebron21on 2/6/2025, 11:36 AM

My experience with Julia was good, and the language is convenient, however two major factors made me not use it after test projects:

1. Very scarce packages ecosystem. Like there's dataframes.jl file with poor mans implementation of Pandas.

2. Recompiling everything every time. It meant that a Julia program in some script would take ~40 seconds compiling with dataframes & some other important packages.

I think if a language is to replace Python in science, it would need to either be very fast (recompilation on every run breaks this, and running Julia in a notebook/shell is interesting, but outside of pure scientific code, it should be easier to re-run it), or it should offer ergonomics. Pandas has very rough corners, especially when you need grouping with nontrivial operations, or grouped window functions. Joins aren't easy either. Any system that makes this more ergonomic, could bite a bit off Python. But I don't see such.

by NeutralForeston 2/5/2025, 12:53 PM

I like the language but I can't help but feel it missed the train and that the ergonomics improvements it offers are too small to switch over from Python.

by joshlkon 2/5/2025, 1:56 PM

According to Stackoverflow trends, Julia’s popularity is decreasing and very small

https://trends.stackoverflow.co/?tags=julia

by pjmlpon 2/5/2025, 12:02 PM

I love to see Julia growth, if nothing else by being another Dylan like take on Lisp ideas, with a JIT compiler in the box, and the community keeping the effort to overcome tooling issues despite critics.

by 6gvONxR4sf7oon 2/5/2025, 4:25 PM

I do scientific computing and a lisp was one of my first languages, so i feel like i ought to be the target audience, but it just never quite catches me.

It’s almost statically compilable which has almost gotten me to pick it up a few times, but apparently it still can’t compile a lot of the most important ecosystem packages yet.

The metaprogramming has almost gotten me to pick it up a few times, but apparently there aren’t mature static anti-footgun tools, even to the degree of mypy’s pseudo-static analysis, so I wouldn’t really want to use those in prod or even complex toy stuff.

It’s so damned interesting though. I hope it gets some of this eventually.

by toolsliveon 2/5/2025, 5:25 PM

We do statistical modeling in Python in our company. When a statistician asked for R, I said "no, but you can have Julia". He's quite happy with it, and we're planning to move some stuff over.

by kaysonon 2/5/2025, 4:37 PM

I'm curious how people feel about the JIT compilation time vs runtime tradeoff these days. Any good recent benchmarks?

by ofrzetaon 2/6/2025, 12:36 PM

Somehow Julia is lacking the "killer app" like Ruby has with Rails.