Encouraging adoption story

I see posts on here occasionally that lament the slow uptake of Julia in the wide world, resistance from colleagues/employers, etc., and wanted to share an encouraging interaction I had recently.

The story starts six years ago, when I was a postdoc analyzing a huge (> 70 TB) underwater acoustic dataset (shameless promotion of the output). I wrote a Julia package for some of the batch analyses, and when I finished the postdoc I handed it off to an engineer there to keep running it as new data came in. He had not used Julia before, but I gave him a thorough run-through and set of instructions for using Julia and my code.

Unfortunately, the package wasn’t as polished as it might have been, and this was right after the Julia v1.0 release when a lot of things were still not quite fully-baked. Between my own bugs/design mistakes, and the rapidly changing ecosystem and tooling, he had a frustrating experience, and once apologetically confided to me that he “kind of hated Julia.” I was pretty sure I had permanently turned him off the language. He said he would keep running it until he had time to rewrite it in Python.

Well, it is now four years later. A few weeks ago he emailed me saying he was finally porting my code to Python…only to realize it ran much slower. He also mentioned that the Julia tooling, particularly through the VSCode extension, was much more stable and pleasant to work with than 4 years ago. I was pleasantly surprised. And then, just today, I got an email from another mutual colleague, which mentioned that this formerly skeptical engineer was “a new fan of Julia.” I don’t know if he’ll switch to writing his own new code in Julia, but he was at least impressed enough to be talking it up to other people.

This is just an anectode, but I think it’s representative of the improvements we’ve seen in the language, ecosystem, and tooling over the past few years, not to mention all the hard work that has made them happen. It also tells me that the language will continue grow as it finds its killer apps in different fields. Ultimately, I have used Julia because I think it is the best tool for me, and nobody has told me I can’t. But for anyone who cares about wider adoption (and, if I’m being honest, I do too on some level), I wanted to share this morsel of encouragement. Keep up the good work, everyone!

63 Likes

And once Julia has easy to use “static compilation” it will be even more popular.

5 Likes

That’s an awesome story @ElOceanografo! I’ve seen some of your work on ocean acoustics. I work in ocean sonar and have been prototyping ideas of how to connect your code with mine. Thanks for sharing!

3 Likes

Cool! Feel free to ping me if you ever want to chat about those ideas…

2 Likes

To use Python at all for this kind of work, you have to use numba (or maybe PyPy, Cython which are not standard Python, but numba is also a “reduced” Python). Julia has developed steadily over the years; I’m sure the tools are at least comparable probably better, once you’re comparing to nonstandard Python.

If you do have some Julia/Python ports, you can compare the code, Julia is a much nicer language overall. 1-indexing actually results in simpler looking (and thinking) code, loops look more natural and cleaner. (not sure with Python’s mantra of “no loops”, how it’s even a serious language!)

1 Like

Why it is perfectly OK to prefer Julia over Python, questioning the legitimacy of the latter as a programming language is not warranted. It is just a different programming language, with different style, history, and strengths.

3 Likes

Could the OP’s first post be modified a bit to make it a blog post on the Julia-lang website? I imagine that by posting it there it might have a wider audience.

This is really meant for the context that most people here using programming languages. Python isn’t serious for numeric computing, not shy to say that.