Mathematica has lots of drawbacks, chief among which : if you write Mathematica code, you're building on top of an expensive, closed-source bunch of opaque algorithm that are neither guaranteed to be correct (can't see what they do) nor to continue behaving the way they did when you wrote your code (you're at the mercy of Wolfram changing what the code does).
As far as I'm concerned, this essentially precludes doing anything publishable using Mathematica.
Don't other languages cause issues as well? If you wrote your python code in 2.7, it probably won't run in 3.6 without some modifications. Although, with Python everything is free and you can work anywhere without your boss needing to buy a license.
As far as I'm concerned, this essentially precludes doing anything publishable using Mathematica.