<story><title>Potential of the Julia programming language for high energy physics computing</title><url>https://arxiv.org/abs/2306.03675</url></story><parent_chain><item><author>jampekka</author><text>C++ is pain, numpy is pain if you need a loop, numba and cython are pain if you need any more complex data structures.&lt;p&gt;Sadly Julia is pain too if you don&amp;#x27;t do REPL&amp;#x2F;notebook (which you shouldn&amp;#x27;t). Julia has the design to solve the two language problem but not the implementation. And will probably never have because Julia community refuses to see this as a problem.</text></item><item><author>fnands</author><text>Cool! Writing math-heavy code in Julia is such a pleasure. C++ is a pain, numpy is alright but Julia just makes sense. I really wish I could use it for my day-job.&lt;p&gt;Back when I was on ATLAS we mostly did things in C++. If I never have to do another matrix multiplication in C++ again it will be too soon.</text></item></parent_chain><comment><author>markkitti</author><text>I thought that notebook based development and package based development were diametrically opposed in the past, but Pluto.jl notebooks have changed my mind about this.&lt;p&gt;A Pluto.jl notebook is a human readable Julia source file. The Pluto.jl package is itself developed via Pluto.jl notebooks.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fonsp&amp;#x2F;Pluto.jl&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;fonsp&amp;#x2F;Pluto.jl&lt;/a&gt;&lt;p&gt;Also, the VSCode Julia plugin tooling has really expanded in functionality and usability for me in the past year. The integrated debugging took some work to setup, but is fast enough to drop into a local frame.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;code.visualstudio.com&amp;#x2F;docs&amp;#x2F;languages&amp;#x2F;julia&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;code.visualstudio.com&amp;#x2F;docs&amp;#x2F;languages&amp;#x2F;julia&lt;/a&gt;&lt;p&gt;Julia is the first language I have achieved full life cycle integration between exploratory code to sharable package. It even runs quite well on my Android. 2023 is the first year I was able to solve a differential equation or render a 3D surface from a calculated mesh with the hardware in my pocket.</text></comment>
<story><title>Potential of the Julia programming language for high energy physics computing</title><url>https://arxiv.org/abs/2306.03675</url></story><parent_chain><item><author>jampekka</author><text>C++ is pain, numpy is pain if you need a loop, numba and cython are pain if you need any more complex data structures.&lt;p&gt;Sadly Julia is pain too if you don&amp;#x27;t do REPL&amp;#x2F;notebook (which you shouldn&amp;#x27;t). Julia has the design to solve the two language problem but not the implementation. And will probably never have because Julia community refuses to see this as a problem.</text></item><item><author>fnands</author><text>Cool! Writing math-heavy code in Julia is such a pleasure. C++ is a pain, numpy is alright but Julia just makes sense. I really wish I could use it for my day-job.&lt;p&gt;Back when I was on ATLAS we mostly did things in C++. If I never have to do another matrix multiplication in C++ again it will be too soon.</text></item></parent_chain><comment><author>qsort</author><text>I&amp;#x27;m starting to think that the two language problem is not really solvable at the language level. Maybe it is, but there&amp;#x27;s a significant friction.&lt;p&gt;High level naturally pushes you towards abstract types, GC, not caring about allocation, do what I mean not what I said.&lt;p&gt;Low level naturally pushes you towards concrete types, deterministic mallocs, do what I said not what I mean.&lt;p&gt;e.g. do I want integers like Python or integers like C? Yes.</text></comment>