Why I hate Matlab

As a programming language, MATLAB is not my favourite. Yes, you can prototype things in it quickly, but when people start building libraries that then others build more libraries on, you end up getting stuck in it.

If you are not sucked into it yet, don't. Please. Save yourself.

Here are a couple of reasons why it is a poor choice to do any proper development in (and these are simple (or petty) reasons. I also have many problems with the fact that it has a closed source and its insanely expensive price for anyone other than students, but that is for another day.

May 2016 updates: Mathworks came back to me with some responses to some of my concerns, saying they are investigating some of them and some of them have already been fixed. Kudos to them on that, but I feel fixing the underlying product itself is probably a better idea?

Simple Reasons why MATLAB Sucks

  • Every time you update your Mac OS X, you have to update matlab's mex configuration to realise the SDK it needs to call has changed from say MacOSX10.10.sdk to MacOSX10.11.sdk. I mean, really?

Have a look here.

This should be enough for you to realise there is something wrong at Mathworks and their deployment and upgrade process. It seems like engineers at Mathworks are mathematicians pretending to be software engineers. That is a recipe for disaster in the long run.

  • Looping over structures and cells in Matlab is so bad. Just google it and see the solution (or just see here).

  • You crash my Mac more than any other application I run.

  • The IDE has lots of bugs. For example, sometimes, I can't click anywhere on the editor, but I can type in the console, and so many other issues.

  • Changing the default directory to start Matlab in is like pulling teeth out. Again Google it. Why Mathworks, why?

  • Installing a new 'official' toolbox is like being punched in the face while having your nipples twisted, really hard - why can’t it just be simple tick, go process? Why do I have to download the installer again, go through steps in the installer, register again, jump through a million hoops - why?

  • If the matrix I need you to create is too big, warn me, I won't be offended, it's most likely because I have a bug in my code. Nope, you have to try (which is commendable), but then you fail every time (which is not) - Why o why can't you handle the error a bit more gracefully?

Mathworks, sort it out

Joe, Ross and Me at Oxford Maths Institute in 2014