It's also SOTA for many engineering applications, particularly for acausal modelling and scientific machine learning (see https://sciml.ai), which has led to big companies like Pfizer adopting it [1]. And for engineers writing novel libraries, it clearly has a strong edge. See for example the work by NASA's JPL [2, 3], the FAA [4] or the CliMa project [5].
[1]: https://juliahub.com/case-studies/pfizer/ (see also https://info.juliahub.com/case-studies) [2]: https://exoplanets.nasa.gov/news/1669/seven-rocky-trappist-1... [3]: https://ntrs.nasa.gov/citations/20170008266 [4]: https://youtu.be/19zm1Fn0S9M [5]: https://clima.caltech.edu/
But if I want to work at asml Julia might be a good fit ofc.
For MATLAB it isn't just toolboxes, but also integrations with other tools. So it depends on what you are trying to do, but if your problem is taking in data, computing, putting out data, Julia can absolutely compete with MATLAB, even on the most practical "I really just want this to just work and look at the results", level.
The big win for Matlab seemed to be there are pre-existing solutions/examples for hundreds of common engineering problems that only need to be tweaked for the problem at hand. Engineers like this. They seem pretty happy and productive in Matlab too, so I finally gave up and decided it was my best interests to let them use it.
No, it isn't. It is the single biggest issue in getting it into your corporation. I can easily get a 10k Euro PC if I had any reasonable need for it which I could coherently explain to my boss. Getting Julia installed on it would take months of debates with IT and tens of thousands in internal expenses.
It is the same reason why corporations use Redhat, there is nothing about Redhats Linux which makes it inherently superior to e.g. Debian, definitely nothing that would justify the price. But corporations still willingly pay for it.
There are multiple reasons for this. First is support, if you aren't paying someone, there is nobody who will support you. Secondly is liability this is enormous, MATHWORKS is willing to take legal responsibility for their mistakes. That is a very big reason people use MATLAB, in some areas it is basically the only option for that reason. Thirdly paid software is easy to understand to everyone else, you wouldn't imagine how hard it is to tell people that something good is actually free and in fact so free that you can do with it whatever you want. If you aren't part of an enormous organization this might be hard to understand, but for most people free means "trial version" or "scam".
Mind you, I have huge respect for Cleve Moler and Matlab and all they have accomplished (making LINPACK and EISPACK and all that easily accessible). And they've worked hard to overcome the limitations of initially having only one datatype: a matrix.
But Julia as a modern general purpose language is just so much more pleasant to work with, while retaining nearly all of Matlab's power.
But there is a huge array of existing algorithms that are already implemented in languages like matlab or stata that may not have corresponding equivalents. If what you want is one of these, it's often hard to justify using another language (though in practice I've usually found it pretty easy to port matlab/python/stat to Julia.)
If you don't, Julia will feel good and be a more than adequate replacement. It has a somewhat similar syntax and many of the Array niceties of MATLAB. Additionally it has a good type system and a much better handling of "general purpose" programming, e.g. it isn't weird about where functions are.
I can only recommend you to try it out.