I like how disagreeing with people here automatically makes you an "ignorant" shill of the evil MathWorks corporation.
Your first statement is ridiculous. Quite obviously, there are plenty of people with experience with other languages that find it useful and worthwhile. Throwing presumptuous insults doesn't exactly prove anything.
None of the options you mention are fit to replace Matlab in its entirety. What makes Matlab domain-intuitive isn't its default bit-system (which hasn't been 16 since, I'm not sure) or the actual programming language, but it's development system; toolboxes and graphics. Simulink, Control System, the PDE Toolbox, Simscape, et c., similarly to what makes python or any other languages great.
I like how disagreeing with people here automatically makes you an "ignorant" shill of the evil MathWorks corporation.
No, NO. Stop right there, buckaroo. Just stop. I am unequivocally NOT saying that "disagreeing with people makes you an 'ignorant' shill of the evil MathWorks corporation." I very much doubt you have any connection to MathWorks whatsoever. And I don't think twice about MathWorks as a corporation. I think they are trying to make as much money as they can get away with, and succeeding brilliantly. I happen to think they have a really shitty product that has literally set science back decades, but that's not their fault in the least. They are doing what a company is supposed to do: make money. It's the fault of the academics too lazy to spend the intellectual capital to investigate the available tools, full stop. Literally no one here has called you a shill.
And you might be a brilliant fucking scientist. I don't have a clue. You might be the world's greatest neuroscientist or whatever. Pick your favorite hotshot subject, it doesn't matter. I'm not calling you an ignorant person. My claim is far, far more narrow. My claim is that you are obviously ignorant of the numerical software and computer algebra landscape.
Now here's the thing: If someone comes along and tells you, "Everyone knows the world is 6,000 years old. LOADS of biologists think so!," what is the appropriate response? Because, however one would like to think otherwise, as hard as it is to believe, there unequivocally ARE working biologists who do believe the world is 6,000 years old. I have personally met several, believe it or not. (I grew up in an interesting religious community.) But anyone working in the life sciences would absolutely be justified in characterizing someone who claims that the earth is 6,000 years old as ignorant with respect to earth and life sciences. They might be among the best brain surgeons in the world (like Ben Carson, a walking paradox) or a brilliant mathematician, but the simple fact remains that even a scientifically literate non-scientist should be able to think of at dozen independent scientific reasons that a 6,000 year old earth is untenable without a moment's notice. And those who know better, especially those who actually do work as scientists in the earth and life sciences, look upon the young-earth creationist, regardless of their self confidence, as someone who just doesn't know that much about the relevant subjects. A young-earth creationist is simply ignorant, and that's a brute fact despite their very different perception of themselves.
Now here you are, perhaps an incredibly competent working scientists, extolling the virtues of Matlab in the numerical computing space. Along come a crowd of computer scientists and mathematicians telling you Matlab is shit, and your reaction is to say that loads of people with experience in other languages find Matlab useful and worthwhile. A couple of things: first, the claim isn't that Matlab is 100% useless. (See below.) Rather, the claim is that it's a shit programming language (absolutely true) that is the wrong tool for almost every job. I know those two things sound the same, but they're not. Believe it or not, there are some things for which Matlab is currently the best tool. But almost none of the things it is actually used for fit that category. That's an important but subtle difference. Second—and this is the most important part of my screed—the claim is that virtually no one who has any meaningful experience in programming languages thinks Matlab is anything but a piece of shit programming language, even if it has its uses. Now, to be fair, yes, I did slip in an extra weasel word I have previously been leaving out: virtually no one with any meaningful experience in programming languages... I'll concede that the word virtually is new here.
I happen to have had an interesting academic career that has put me in contact with a lot of different kinds of scientists: an undergrad career in computer science, a stint in software engineering in industry before getting a PhD in pure math, circled back around to cs via computer algebra programming languages, and now collaborate with life scientists. I only tell you that in order to say this: while I have met several biologists who are also young earth/life creationists, I have not met anyone, whether in industry or academia, who has any meaningful experience in multiple programming languages and has used Matlab enough to form a judgment who doesn't think Matlab is a steaming pile of shit. Yes, I suppose this is anecdotal, but in my entire career, I have found that among those who are in any position whatsoever to make a judgment, biologist young earth/life creationists are much more common than programming language people who like Matlab.
If you've read this far, then frankly you have more patience than I do. At this point our conversation is an instance of, "My dad can beat up your dad": Neither one of us has anywhere to go. But I want to at least leave you with a concession: Admittedly this isn't my area of expertise, but to my knowledge there really isn't an adequate alternative to SimuLink and Control System Toolbox. I'll give Matlab those. And as much as I shit on Matlab—which is a lot—I really don't mind if someone is more productive in Matlab in their day-to-day computation work and chooses to work with it. Who gives a shit if they get their stuff done? The problem only arises when Matlab becomes a Golden Hammer, when it's used for a project without any thought whatsoever about what alternative tools exist that might be better for the task. It's that inability—or worse, unwillingness—to consider learning something new that is a cancer on the scientific enterprise. And that's not a problem with Matlab, it's a problem with scientists.
I forgot to respond to this one. Holy shit, you're right! If you ever find out exactly when they switched from 16 bits to... looks like 64 bits, I'd love to know. It must have been REALLY RECENTLY, though, because their documentation still says explicitly that Matlab uses 16 bit arithmetic by default. It must have been in the last six years or so at the latest. Which means that this superior numerical CAS of yours stayed on 16 bit arithmetic, with an allegedly "intuitive" suite of 16 bit numerical toolboxes (?!?!), for literally decades after the entire world had moved to at least 32 bits. Seriously, can you name even a single piece of actively developed mathematical software that was still 16 bit by default in 2010? I for one cannot.
I'm really sorry, I know you've stopped reading by now, but I can't resist getting another shot in here:
What makes Matlab domain-intuitive isn't ...the actual programming language...
Great! Can we finally just agree that Matlab is a shit programming langauge, then? The rest is just haggling over the details.
2
u/okkshin Aug 06 '19
I like how disagreeing with people here automatically makes you an "ignorant" shill of the evil MathWorks corporation.
Your first statement is ridiculous. Quite obviously, there are plenty of people with experience with other languages that find it useful and worthwhile. Throwing presumptuous insults doesn't exactly prove anything.
None of the options you mention are fit to replace Matlab in its entirety. What makes Matlab domain-intuitive isn't its default bit-system (which hasn't been 16 since, I'm not sure) or the actual programming language, but it's development system; toolboxes and graphics. Simulink, Control System, the PDE Toolbox, Simscape, et c., similarly to what makes python or any other languages great.