3 ms·
For someone coming from Matlab, is Julia a valid replacement?
by Alifatisk 2y ago
For someone coming from Matlab, is Julia a valid replacement?
- goerz 2y agoVery much so. See https://docs.julialang.org/en/v1/manual/noteworthy-differences/ https://docs.julialang.org/en/v1/manual/noteworthy-differenc... for some details
- BenFranklin100 2y agoWhile not a Matlab nor Julia user, I think you may be neglecting the nearly 40 years of code, toolboxes, and countless examples of common engineering problems solved in Matlab. Engineers tend to be more of a practical sort than developers, and just want to apply a known solution to a problem than mess around with newish software languages.
- agucova 2y agoThis is true, but even engineers see the advantages of Julia. My engineering school has went from almost pure Matlab usage to many key engineering courses switching to Julia due to its simplicity and friendliness. It's also SOTA for many engineering applications, particularly for acausal modelling and scientific machine learning (see https://sciml.ai 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/ https://juliahub.com/case-studies/pfizer/ (see also https://info.juliahub.com/case-studies https://info.juliahub.com/case-studies) [2]: https://exoplanets.nasa.gov/news/1669/seven-rocky-trappist-1-planets-may-be-made-of-similar-stuff/ https://exoplanets.nasa.gov/news/1669/seven-rocky-trappist-1... [3]: https://ntrs.nasa.gov/citations/20170008266 https://ntrs.nasa.gov/citations/20170008266 [4]: https://youtu.be/19zm1Fn0S9M https://youtu.be/19zm1Fn0S9M [5]: https://clima.caltech.edu/ https://clima.caltech.edu/
- logtempo 2y agoTools are valid regarding a context (when you have a hammer everything is a nail etc.). In the industrial context, Julia is not valid. In the research/education, it is valid. It does not mean that Julia will never be relevant in research.
- patagurbon 2y agoOur upcoming JuliaCon 2024 has a significant number of industrial talks and a minisymposium. ASML uses Julia quite widely in a definitively industrial context. https://juliacon.org/2024/ https://juliacon.org/2024/
- logtempo 2y agoWhat I mean is as a worker or student, I want to know if the tools I spend time on will be relevant in the industry. And I think I have more chance to meet companies working with MATLAB than Julia. But if I want to work at asml Julia might be a good fit ofc.
- constantcrying 2y agoOne enormous difference is that MATLAB is paid, which, ironically, makes it much much easier to use in a corporate context. 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.
- BenFranklin100 2y agoBeing paid does not make it easier to use in a corporate environment, that is nonsense. I specifically tried to ween my Mech E.’s off Matlab because I don’t want to pay for Matlab licenses for our company. 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.
- constantcrying 2y ago>Being paid does not make it easier to use in a corporate environment, that is nonsense. 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".
- adgjlsfhk1 2y agoyes.
- nsajko 2y agoVery much so. Julia code can be both much nicer and much more performant than Matlab code can.
- antegamisou 2y agoNo because Matlab is never going away from the industry. Same for Python/matplotlib btw.
- SatvikBeri 2y agoIn some ways – it's much faster, it generally has a lot of features that make it better as a programming language, it's much easier to parallelize. As someone who's written both professionally, I would say Julia is usually the better choice today. 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.)
- FabHK 2y agoYes. It's like giving a glass of ice water to somebody in hell (with apologies to Steve Jobs, who said that about iTunes on Windows, back when iTunes was not the mess it turned into later). 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.
- constantcrying 2y agoIt depends on whether you are depending on specific MATLAB toolboxes or integrations. 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.