
It comes up from time to time, such as this DIANA/HEP meeting in July 2016: https://indico.cern.ch/event/545738/ (Despite my "technical issues in Julia" talk, I was trying to make it work at that time: https://github.com/JuliaHEP/ROOT.jl/issues/4)
In the PyHEP planning, the idea of having a short session on Julia came up, particularly to highlight Python-Julia interoperability.
Nowadays, I often advocate using Numba to include JIT-compilation in Python with the caveat that only a subset of the Python language can be compiled by Numba, though that can be difficult if you don't apply it to small functions and work outward. (If you apply it to a large codebase all at once, there's a good chance it will hit something it can't compile, and the error messages are verbose.) Julia would solve that problem—as a language designed to be JIT-compiled, it lacks the dynamic features that makes static analysis and compilation difficult. Any legal Julia code can be compiled.
But whereas the community is moving toward Python on its own, they are not moving to Julia in similar numbers. These are the responses to the "What language do you use?" question at PyHEP 2020: it's a steep cliff!
There is a trend toward using more Python in physics analysis, but not toward other languages in general. Moreover, I don't think that it happened strictly because people in HEP advocated Python (e.g. Wim Lavrijsen had been advocating Python since at least 2003, but it didn't take off until the last 5 years or so). I think that external factors—like language choice in university CS classes, Python's reputation as a data analysis language, and the prospect of careers in data science—played a much bigger role. For instance, Matlab and R certainly have a lot of data analysis functionality, and R even has ROOT bindings, but a similar trend didn't happen there. Julia can use all of Python's machine learning tools, but a movement to Julia hasn't happened yet. The difference is that this distributed community of physicists is hearing about Python from a variety of sources a lot more than they're hearing about these other languages, independent of their technical merits.
So I think it's great that we're investigating Julia in HEP, since it would thoroughly solve "The Numba problem" if it catches on. (I just saw Pere's response. I'll check out that paper!) My point is that we influence the HEP user community less than we might think. Despite its technical merits, Julia will be a hard sell.
-- Jim
On Mon, May 17, 2021 at 6:53 AM Philippe Gras <philip...@cern.ch> wrote:
--
This is the discussion forum of the HEP Software Foundation, http://hepsoftwarefoundation.org
---
You received this message because you are subscribed to the Google Groups "HEP Software Foundation Open Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hsf-forum+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hsf-forum/02c7fd34-a9b5-f895-cead-fa2e58a3a8f8%40cern.ch.
--
This is the discussion forum of the HEP Software Foundation, http://hepsoftwarefoundation.org
---
You received this message because you are subscribed to the Google Groups "HEP Software Foundation Open Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hsf-forum+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hsf-forum/CADXTekKKNv4Ds-tqLtVcD9Xon2eiZYEzd5p3HXN-NjjZWVJ-Bw%40mail.gmail.com.
Hello Philippe, Jim, cc PyHEP 2021 organisers,
We should then take this offline for a possible presentation at PyHEP 2021 (https://indico.cern.ch/e/PyHEP2021) ...
Note that others have looked at Julia for HEP, see in particular the paper https://link.springer.com/article/10.1007/s41781-021-00053-3.
Thanks for the interest and the suggestion,Eduardo
| Eduardo Rodrigues, PhD (he/him) | University of Liverpool | LHCb Experiment @ CERN | Tel. +41 (0) 22 76 72088 |
From: hsf-...@googlegroups.com [hsf-...@googlegroups.com] on behalf of Philippe Gras [philip...@cern.ch]
Sent: 26 May 2021 08:56
To: hsf-...@googlegroups.com
Subject: Re: Julia programming language
Hello,
I've played with Julia since my last message. It has convinced me it's extremely well suited for HEP.
I'm more optimistic than Jim and Andy for the adoption, because it fulfills an immediate need, which is writing python-like code that runs fast.
It will be very good, if we can discuss the matter at PyHEP 2021. From the links Jim sent I understand it was studied in 2016, while the language was young (launched in 2012 according to wikipedia). The Language has been developing since then and it is worth to revisit it 5 years after.
I can give a talk at PyHEP to present the language including performance comparison with python for our usage.
Cheers,
Philippe.
On 17/05/2021 15:27, Jim Pivarski wrote:
It comes up from time to time, such as this DIANA/HEP meeting in July 2016: https://indico.cern.ch/event/545738/ (Despite my "technical issues in Julia" talk, I was trying to make it work at that time: https://github.com/JuliaHEP/ROOT.jl/issues/4)
In the PyHEP planning, the idea of having a short session on Julia came up, particularly to highlight Python-Julia interoperability.
Nowadays, I often advocate using Numba to include JIT-compilation in Python with the caveat that only a subset of the Python language can be compiled by Numba, though that can be difficult if you don't apply it to small functions and work outward. (If you apply it to a large codebase all at once, there's a good chance it will hit something it can't compile, and the error messages are verbose.) Julia would solve that problem—as a language designed to be JIT-compiled, it lacks the dynamic features that makes static analysis and compilation difficult. Any legal Julia code can be compiled.
But whereas the community is moving toward Python on its own, they are not moving to Julia in similar numbers. These are the responses to the "What language do you use?" question at PyHEP 2020: it's a steep cliff!
<image.png>
There is a trend toward using more Python in physics analysis, but not toward other languages in general. Moreover, I don't think that it happened strictly because people in HEP advocated Python (e.g. Wim Lavrijsen had been advocating Python since at least 2003, but it didn't take off until the last 5 years or so). I think that external factors—like language choice in university CS classes, Python's reputation as a data analysis language, and the prospect of careers in data science—played a much bigger role. For instance, Matlab and R certainly have a lot of data analysis functionality, and R even has ROOT bindings, but a similar trend didn't happen there. Julia can use all of Python's machine learning tools, but a movement to Julia hasn't happened yet. The difference is that this distributed community of physicists is hearing about Python from a variety of sources a lot more than they're hearing about these other languages, independent of their technical merits.
So I think it's great that we're investigating Julia in HEP, since it would thoroughly solve "The Numba problem" if it catches on. (I just saw Pere's response. I'll check out that paper!) My point is that we influence the HEP user community less than we might think. Despite its technical merits, Julia will be a hard sell.
-- Jim
On Mon, May 17, 2021 at 6:53 AM Philippe Gras <philip...@cern.ch> wrote:
Hello,
Do we have any group who is looking or have looked at Julia [1] ?
This language reconciles Python's easiness of code writing and c++-like
performance. It looks very appropriate for HEP.
Philippe.
[1] https://julialang.org/
--
This is the discussion forum of the HEP Software Foundation, http://hepsoftwarefoundation.org
---
You received this message because you are subscribed to the Google Groups "HEP Software Foundation Open Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hsf-forum+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hsf-forum/159237B2AD3ED44EA3FD8BE591B05CC60259FC2ED3%40CERNXCHG73.cern.ch.