Every time I've tried it though, it just didn't feel as polished and integrated as Mathematica.
Every time I've tried it though, it just didn't feel as polished and integrated as Mathematica.
I am looking forward to the day I can switch to Sage and return to coding in emacs.
I've found that you can generally do most things you can do with MATLAB in Python, but the experience in MATLAB is buttery smooth while the experience with numerical Python is clunky and obnoxious (whether it be all the useless textual noise in the code itself, the inferior quality of the plotting and visualization capabilities or the fact the Python scientific computing library ecosystem is so disjoint (this thing can handle pandas frames, this other thing needs numpy vectors, this other thing expects Python lists, whatever).
I had high hopes for Julia, I have a test for it. How annoying is it to plot(sin(0:0.01:6*pi)) out of the box? For the extreme challenge question, how annoying is it to also open a new plot window and plot(cos(0:0.01:6:pi)) alongside it. I want to be able to pan around and inspect these complicated functions.
So far, it has not yet passed the qualifiers.
Just use the plot command in Makie.jl? This is a nice first few commands to check the install.
In 1.0, I tried Plots.jl again. I tried adding it using the package manager and it blew up trying to build. This is with no special state from me, I unpacked the 1.0.0 release, started it and did Pkg.add('Plots')... boom.
There's such a great story around it and I really want to like it, but this is like extremely basic suitably to task stuff... Who knows, maybe I'm using it wrong.
I don't use matlab but I don't consider "matlab people" as bad scientists or limited in terms of what they can potentially do due to their tool. The limit of access for matlab due to licensing and expensive external modules such is the problem in my view. That isn't a critique at all of matlab's actual numerical and scientific utility, of course it's apt in that arena otherwise people wouldn't use it.
Total@Map[Function[{L}, Min @@ Table[dist[func[Array[c[#, k]&, n]]][L], {k, m}]], dd]
is normal and common in Mathematica code. Like with Perl, the culture has started from small scripts making heavy use of shorthands provided by the language, and slowly evolved to writing larger codebases.Some of this can, on an individual level, be fixed by adopting a clearer coding style. But like Perl 5, the language kind of lures you to use the shorthands a lot.
If you define modules, it’s nearly the same as as a scripting language.
As far as I'm concerned, this essentially precludes doing anything publishable using Mathematica.