2 ms·
AFAIK it used to be written/interpreted in Java (though it uses a JIT compiler nowadays, doesn’t it?), and in that sense the language itself is memory safe. Of
by kaba0 3y ago
AFAIK it used to be written/interpreted in Java (though it uses a JIT compiler nowadays, doesn’t it?), and in that sense the language itself is memory safe. Of course if you link to a dependency written in an unsafe language you can have memory issues, but that is not what people commonly mean by “a memory safe language”.
- defrost 3y ago> Of course if you link to a dependency written in an unsafe language Like the matrix handling, plotting, and other modules dragged in from the 1990s standard FORTRAN library era. Don't get me wrong, I have placed a lot of trust in those kinds of numeric libraries since the 1980s - NIST and other national labs code and review to a high standard - but they weren't then and aren't now "memory safe" just very probably and mostly bug free. Unless they were, say, rewritten in Java .. and that's a whole other big ball of issues .. translated code. I'm happy to play along and agree that the JIT compiled 'Matlab language' parts of Matlab are memory safe - but to the best of my experience with past versions that's just the glue portions - the reason so many people use Matlab is for the chunks that get glued together.
- kaba0 3y agoAren’t many of these Fortran libraries heavily used all throughout almost any kind of application, somewhere deep down their dependency tree?
- defrost 3y agoAbsolutely .. and generally written to a very high standard with a lot of checking, rechecking and running forwards and backwards across multiple architectures with extensive technical mailing lists. They can still have bugs, memory issues, be called with parameters that cause resource blow outs and aren't "memory safe" in the sense that modern managed languages are. Matlab is exactly as reliable as well written Fortran and C code can be.