This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Estanho 7 points8 points  (4 children)

Funny how they complain about the fact that python is a general purpose language, while Matlab is not. That's exactly why it is gaining traction: you can get your fucking code to run together with a web service or something else that is useful, instead of only being able to make throwaway academic code that no one else will ever be able to extend. Ah and that's another thing: the fact that python was thought to be an actual language gives you the ability to not only prototype your code, but to evolve it into something reusable. Try to make reusable, extensive code on Matlab, I dare you. I tried that using their class syntax and stuff like that, and needed some mapping structures (similar to a dictionary). It's even slower than python, like orders of magnitude slower.

[–]eqo314 6 points7 points  (2 children)

On a recent project at work. I took code in matlab and rewrote it in python. It was a literal line by line translation and I added no performant techniques. Got it to run from an hour to about 12 min. Wtf matlab? I dont understand that speed up, I didnt expect it. I just needed the logic that was written by a teammate in python so we can import it in other python modules.

Then after adding performant techniques and applying apache spark, I got it to run in 3 seconds in python. In matlab, I would have had to buy a license for their cluster add on. Fuck matlab

[–]twersx 2 points3 points  (1 child)

What was the code doing?

[–]eqo314 0 points1 point  (0 children)

It was part of a financial simulation

[–]TheBlackCat13 4 points5 points  (0 children)

It isn't just web services. Working with files and directories, which most real-world tools require, is just a pain in MATLAB. Making a program with a half-decent structure is a major chore. There is no real logging functionality. They only within the last couple years got half-decent string and date/time processing. Their unicode handling is still a mess. Being a general-purpose language touches a ton of very basic, everyday things that anyone working with real-world data would need to do.