Mathematica added a built-in Julia interface in version 12 last year. I had a try and found the interface quite convenient. Here’s a short example, using Julia to speed up calculation of Fibonacci numbers, using an inefficient recursive algorithm just for illustration.

First, here’s the pure Mathematica implementation for calculating the 30th Fibonacci number,

```
fib[n_] := If[n<=1, n, fib[n - 2] + fib[n - 1]];
AbsoluteTiming[fib[30]]
```

The output is

```
{2.67564, 832040}
```

2.7 seconds was used to get the result 832040.

Now, using the Julia interface,

```
juliaSession = StartExternalSession["Julia"]; (* Start Julia session *)
fibJulia = ExternalEvaluate[juliaSession,
"fib(n) = n<=1 ? n : fib(n-2) + fib(n-1)"
];
(* defined Julia function callable from Mathematica *)
fibJulia[5]; (* JIT warmup for Julia *)
AbsoluteTiming[fibJulia[30]] (* Actual calculation *)
```

The output is

```
{0.00839, 832040}
```

Only 8 milliseconds was used (including FFI latency), more than 300 times faster than the pure Mathematica version.

Finally, the Julia session is closed by

```
DeleteObject[juliaSession]
```

(Julia packages ZMQ and JSON are required for the interface to work, as stated in the Wolfram documentation.)