4 ms·
> Python is already the de facto replacement for Matlab in academia and engineering. Maybe in some disciplines, but in control engineering, basically everybody
by patrick451 4y ago
> Python is already the de facto replacement for Matlab in academia and engineering.
Maybe in some disciplines, but in control engineering, basically everybody still uses Matlab. The python control systems libraries are a cheap joke compared to what Matlab offers.
The benefit of Julia vs c++ is questionable. Every time you run your program, you have to wait for it compile anyway with Julia. With c++, I pay this cost once, not every run. They keep claiming time-to-first-plot is better. When I tried it a couple weeks ago, it still took __minutes__ to produce a single, simple plot. JIT makes Julia not only frustrating to use, but worse, makes it unsuitable for integration into real time systems. So for a lot of applications, I have to rewrite the algorithm anyway whether I use Julia or python. So something like castor (especially with it's integrated plotting!) could save me time from re-writing.
As for the compilers and makefiles? Well, Julia's module/include/import system is worse. At least with a makefile, all the state is in contained within the local build directory, not some global cache julia magically creates.
- adgjlsfhk1 4y agoHow were you making the plot? On my computer, I see time julia -e "using Plots; plot(exp)" taking 13 seconds (and I haven't done anything fancy). If it's taking significantly longer than that, something is very wrong.
- klyrs 4y agoGenerating a similar plot in Python takes less than half of a second, including startup time. While 13 seconds isn't "minutes" it's still egregiously slow.
- adgjlsfhk1 4y agoYeah. It's the main pain point of Julia. For me, it's not really a problem since for interactive use, I mainly use a repl which stays open for hours, and for production use cases, you can make a system image (which essentially caches all the compilation ahead of time). Also, this is a major focus of current Julia development.
- Rexxar 4y ago13s seems horribly slow to draw a plot.
- patrick451 4y agoI just pasted the code from the docs julia> using Gadfly julia> plot(y=[1,2,3]) I just timed this again. It took 53 seconds. So __minutes__ was a bit of an exaggeration. Using Plots instead of Gadlfy takes 20 seconds. Either way, it's an eternity. I'd rather just compile c++.
- zwieback 4y agoTangent - what kind of "control engineering" are you using Matlab for? I call myself a "controls engineer" sometimes because I PID tune the occasional servo motor or write some PLC-like code but for the most part we use traditional coding (C#, C++ or similar) techniques. Are you talking about much larger systems or more complex stuff that requires real controls theory?