Has this guy not heard of Matlab? He's acting like the idea of everything as an array is some niche forgotten thing in a long dead language, meanwhile practically every Engineering department is choc o bloc of people who take the "everything is an array" idea way beyond its logical extent.
Array programming languages are about more than just broadcasting. What you said is kind of like saying C is a functional language because you can pass function pointers around.
Also, Matlab's treatment of arrays is derived directly from APL.
Came here to say the same thing, and add that GNU Octave is pretty good too. Its libraries didn't seem as diverse as MATLAB's when I tried it, but since it's open source, maybe that's changed.
Also when I tried SSE and AltiVec about 20 years ago for SIMD, they were really fast, but I was flabbergasted that the instructions were fixed-length. I wanted something more like the x86 string instructions so that I could fused-multiply-add arrays of floats without having to manually unroll loops to process 4 elements at a time:
Matlab is pretty awesome for doing scientific work and building plots/graphs. It's array/matrix based, but very different than APL in how one goes about programming.
This seems oversimplistic to say the least. Matlab is used over Fortran as a lot of scientific and numeric work doesn't need to be as fast as Fortran, so having something much easier and faster to develop in with a REPL and data inspector and top tier graphics and GUI building...etc is worth the performance cost as the overall time (including developer) time is much lower in a lot of cases. I've worked with a lot of brilliant academics and national labs folks and they all mostly use Python, Matlab, or Julia for their work. I doubt a single one of them can't learn Fortran. Indeed, some use it when needed on super computers after they've built a prototype in Matlab. Remember, there was a time when scientists thought anyone who needed to use Fortran over Assembly or Assembly over manually configuring the computer were just too dumb/spoiled.
Tldr: Fortran, C/C++, Matlab, Python, Julia are all great and serve different roles with pros and cons.
Comments
Has this guy not heard of Matlab? He's acting like the idea of everything as an array is some niche forgotten thing in a long dead language, meanwhile practically every Engineering department is choc o bloc of people who take the "everything is an array" idea way beyond its logical extent.
Array programming languages are about more than just broadcasting. What you said is kind of like saying C is a functional language because you can pass function pointers around.
Also, Matlab's treatment of arrays is derived directly from APL.
Came here to say the same thing, and add that GNU Octave is pretty good too. Its libraries didn't seem as diverse as MATLAB's when I tried it, but since it's open source, maybe that's changed.
Also when I tried SSE and AltiVec about 20 years ago for SIMD, they were really fast, but I was flabbergasted that the instructions were fixed-length. I wanted something more like the x86 string instructions so that I could fused-multiply-add arrays of floats without having to manually unroll loops to process 4 elements at a time:
https://docs.oracle.com/cd/E19120-01/open.solaris/817-5477/e...
Looks like Arm is trying to do variable-length vectors with Scalable Vector Extension (SVE) but it's limited to 2048 bits, which is unfortunate IMHO:
https://developer.arm.com/documentation/101726/0400/Learn-ab...
https://alastairreid.github.io/papers/sve-ieee-micro-2017.pd...
https://www.youtube.com/watch?v=eGCcPo4UAHs
Matlab is pretty awesome for doing scientific work and building plots/graphs. It's array/matrix based, but very different than APL in how one goes about programming.
Fortran on training wheels is not an array language. Put this in your pipe https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.p....
Matlab was created for people too dumb to use Fortran. APL was invented for people too smart to use Fortran.
This seems oversimplistic to say the least. Matlab is used over Fortran as a lot of scientific and numeric work doesn't need to be as fast as Fortran, so having something much easier and faster to develop in with a REPL and data inspector and top tier graphics and GUI building...etc is worth the performance cost as the overall time (including developer) time is much lower in a lot of cases. I've worked with a lot of brilliant academics and national labs folks and they all mostly use Python, Matlab, or Julia for their work. I doubt a single one of them can't learn Fortran. Indeed, some use it when needed on super computers after they've built a prototype in Matlab. Remember, there was a time when scientists thought anyone who needed to use Fortran over Assembly or Assembly over manually configuring the computer were just too dumb/spoiled.
Tldr: Fortran, C/C++, Matlab, Python, Julia are all great and serve different roles with pros and cons.