I started on Matlab in 1987 (not a typo), when I was an u'grad at Drexel University and Matlab ran on a VAX mini-mainframe. Matlab is tried and true - diverse and priced "a la carte" to control your costs. If you need support, they are there. Mathworks is a great, no nonsense company.
I code in a few languages, not expert at any. I picked up Python in the mid-2010 and moved onto Anaconda (due to dependency management issues - and cyber BS - I just found a virus from 2018 from Python downloads a few months back...no virus def for it then). Still, if you want to handle multi-dimensional arrays, Python is quite good. Maybe the best at that.
Connect anytime. We focus on Machine and Computer Vision, but are experts in systems and control with some solid "Data Science" chops. Vision Optronix. Cheers.
All good. Big thanks for your comment and like! Connect anytime. At present, working with Thermal Images and Deep Learning and also with Event Cameras, in addition to some basics. I also work in Advanced Tech Trade. I'm 58 now. Career in Advanced Tech. My LinkedIn site shows some details. I am highly technical and mathematically inclined, trained in the continuum, raised along side the discrete/finite state methods....
I’m doing some work right now at an automotive company with the Safety Critical Rust Consortium, so I can confidently say that no Rust setup is currently MISRA-like or CERT-like. This is an ongoing effort that will probably be another couple of years. Beyond that there’s only announcements of potential connection with AUTOSAR Classic Platform in the last month, which is going to be key for industry adoption. Finally, the memory safety stuff sorta doesn’t apply to realtime safety critical systems, since allocation is very heavily restricted and a lot of memory like access is actually DMA hardware control registers, which cannot be Rust memory safe. Long story short, the general take is ~right~ but about 10 years too early.
The other major thing is that MATLAB+Simulink still wins over scipy for control systems. This directly feeds into the desire for Embedded Coder and similar. That advantage will stick around a while. On a related note automatic code generation is about to get solved with ChatGPT… that might influence places to swap out of MATLAB on the margin, if you don’t need safety traceability.
I have never tried vibe-coding on Matlab; No reason it shouldn't work, the question is how well. On the other hand, we know AI coders can do python really well.
One question for my learning- if memory safety is not critical for realtime systems, maybe Rust does not offer any advantage.. but what language is best used for that? C++?
So it depends on what you're working on. C++ and the new MISRA23 C++ standard are the requirement for high availability safety work with allocation on QNX Safety for like AUTOSAR Adaptive used in most high end ADAS systems. On the other hand real control system work -- low level motor control, throttle control, brake control, etc; with realtime requirements and safety monitors and such, think most ASIL D safety code -- are done on Arm Cortex-R processors or Infineon Aurix processors with carefully constructed memory systems -- no MMU, separate I and D caches, a bunch of additional cache pinning infrastructure for the high frequency loops, predictable interrupt behavior, etc etc. In these environments, code has to be so simple that a formal methods proof can prove safety and decidability. Heaps exist, but are very limited and almost everything is globally allocated. Most of the difference between C++ and C in this environment is hidden by the fact that an ASIL D certified stdlib will have size limits and things built into types like map and vector, preventing unbounded allocation and allowing for static analysis or formal methods, so there's little reason to truly avoid C++. On the other hand most legacy code is in like MISRA2001, which is limitations over C99, so toolchains are often expecting that and there's little reason to upgrade... Everything is a tradeoff and automotive is really really cost conscious.
Another big reason to learn Rust is the tooling. As much as the actual language can be difficult to grasp I'd say the surrounding tools for building and dependency management are extremely easy to use unlike what you'd find in C or C++. Cargo is definitely a big reason to make the switch. There's even some Rust based tools for Python as well at https://astral.sh
Any love for Mathematica here? Maybe not super for HDL yet, but every time i check out the Wolfram platform, their offerings have exploded. Thoughts re: HDL and in general?
I really like Python and think that a combination of scipy and numpy could suffice for more of my needs, but I still haven’t found a plotting library/IDE that I find better than matlab. Do you have any plotting recommendations? Also do you have any Python libraries that you would recommend for antenna modeling?
Yeah I’ve used matplotlib quite a bit, but still prefer matlabs plotting (easy to zoom, edit and save figures). I do need to try some of the other libraries you mentioned though, thanks for the tip!
Nice article. Thanks. I'll be looking into Rust.
I started on Matlab in 1987 (not a typo), when I was an u'grad at Drexel University and Matlab ran on a VAX mini-mainframe. Matlab is tried and true - diverse and priced "a la carte" to control your costs. If you need support, they are there. Mathworks is a great, no nonsense company.
I code in a few languages, not expert at any. I picked up Python in the mid-2010 and moved onto Anaconda (due to dependency management issues - and cyber BS - I just found a virus from 2018 from Python downloads a few months back...no virus def for it then). Still, if you want to handle multi-dimensional arrays, Python is quite good. Maybe the best at that.
For others who like BOTH, here's a link:
https://www.mathworks.com/content/dam/mathworks/fact-sheet/calling-python-from-matlab-cheat-sheet.pdf
Connect anytime. We focus on Machine and Computer Vision, but are experts in systems and control with some solid "Data Science" chops. Vision Optronix. Cheers.
I still do like Matlab and Mathworks is a great company. I have friends who worked there happily for a full decade.
Regardless of python vs Matlab debate, Rust is something people interested in embedded hardware programming should look at.
I'll check out Vision Optronix.
All good. Big thanks for your comment and like! Connect anytime. At present, working with Thermal Images and Deep Learning and also with Event Cameras, in addition to some basics. I also work in Advanced Tech Trade. I'm 58 now. Career in Advanced Tech. My LinkedIn site shows some details. I am highly technical and mathematically inclined, trained in the continuum, raised along side the discrete/finite state methods....
I’m doing some work right now at an automotive company with the Safety Critical Rust Consortium, so I can confidently say that no Rust setup is currently MISRA-like or CERT-like. This is an ongoing effort that will probably be another couple of years. Beyond that there’s only announcements of potential connection with AUTOSAR Classic Platform in the last month, which is going to be key for industry adoption. Finally, the memory safety stuff sorta doesn’t apply to realtime safety critical systems, since allocation is very heavily restricted and a lot of memory like access is actually DMA hardware control registers, which cannot be Rust memory safe. Long story short, the general take is ~right~ but about 10 years too early.
The other major thing is that MATLAB+Simulink still wins over scipy for control systems. This directly feeds into the desire for Embedded Coder and similar. That advantage will stick around a while. On a related note automatic code generation is about to get solved with ChatGPT… that might influence places to swap out of MATLAB on the margin, if you don’t need safety traceability.
Good insight into the auto world. thanks.
I have never tried vibe-coding on Matlab; No reason it shouldn't work, the question is how well. On the other hand, we know AI coders can do python really well.
One question for my learning- if memory safety is not critical for realtime systems, maybe Rust does not offer any advantage.. but what language is best used for that? C++?
So it depends on what you're working on. C++ and the new MISRA23 C++ standard are the requirement for high availability safety work with allocation on QNX Safety for like AUTOSAR Adaptive used in most high end ADAS systems. On the other hand real control system work -- low level motor control, throttle control, brake control, etc; with realtime requirements and safety monitors and such, think most ASIL D safety code -- are done on Arm Cortex-R processors or Infineon Aurix processors with carefully constructed memory systems -- no MMU, separate I and D caches, a bunch of additional cache pinning infrastructure for the high frequency loops, predictable interrupt behavior, etc etc. In these environments, code has to be so simple that a formal methods proof can prove safety and decidability. Heaps exist, but are very limited and almost everything is globally allocated. Most of the difference between C++ and C in this environment is hidden by the fact that an ASIL D certified stdlib will have size limits and things built into types like map and vector, preventing unbounded allocation and allowing for static analysis or formal methods, so there's little reason to truly avoid C++. On the other hand most legacy code is in like MISRA2001, which is limitations over C99, so toolchains are often expecting that and there's little reason to upgrade... Everything is a tradeoff and automotive is really really cost conscious.
Another big reason to learn Rust is the tooling. As much as the actual language can be difficult to grasp I'd say the surrounding tools for building and dependency management are extremely easy to use unlike what you'd find in C or C++. Cargo is definitely a big reason to make the switch. There's even some Rust based tools for Python as well at https://astral.sh
Great insight thanks!
Any love for Mathematica here? Maybe not super for HDL yet, but every time i check out the Wolfram platform, their offerings have exploded. Thoughts re: HDL and in general?
Thanks.
I really like Python and think that a combination of scipy and numpy could suffice for more of my needs, but I still haven’t found a plotting library/IDE that I find better than matlab. Do you have any plotting recommendations? Also do you have any Python libraries that you would recommend for antenna modeling?
Matplotlib in python was designed to be an emulation of Matlab plotting (which admittedly is quite nice).
With time, I've grown to like python plotting tools like plotly, seaborn, and a host of others that enable live dashboards to view data too.
The only significant python library for RF is scikit-rf. You might be better off with Matlab; antennas is one of the niche domains
Yeah I’ve used matplotlib quite a bit, but still prefer matlabs plotting (easy to zoom, edit and save figures). I do need to try some of the other libraries you mentioned though, thanks for the tip!
What do you recommend for modelling in the wireless domain?
https://hermespy.org/ looks interesting.