Approaching Julia coming from Mathematica

I am a proficient user of Mathematica and I love its functional programming style and its way of programming by means of lists. However, I would like to move most of my programs from Mathematica to Julia. The main reason to make this step is because I like the Julia community, which is much more active than the Mathematica community, and I would like to run my programs on large clusters which do not have enough Mathematica licenses.

I work in quantum many-body physics, and so most of my programs build very large and sparse matrices to diagonalize.

Given these preliminaries, do you know some resources particularly tailored on how to learn Julia coming from Mathematica?

Thanks in advance!

2 Likes

Linking related thread.

1 Like

thank you!

That thread has not aged well since it was before JuliaSymbolics started.

1 Like

In some ways, Mathematica is like a Swiss-army knife, whereas Julia is more of a hardware store:

So I’d suggest using juliahub.com’s search tool to find all the packages and tools you need. Using just the packages you need is kind of how Julia works.

And I’d also suggest you spend some time mastering git/github and Julia’s package manager, Pkg, as these don’t always feature in some Mathematica workflows.

Good luck!

(former Mathematica user…:slight_smile: )

7 Likes

Thank you! it looks a good suggestion! in your opinion, functional programming style is in Julia as elegant and efficient as in Mathematica?

There are occasionally discussions about functional programming here on Discourse:

I don’t have much of an opinion, myself, although I remember I grew to be a bit wary of Mathematica users’ desire to write code that was so compressed as to be almost un-parseable by ordinary humans. These days I prefer to code in Julia-flavoured pseudocode, which is easier to read many years later. :slight_smile:

4 Likes

thank you!

1 Like