
Mathematica programming – an advanced introduction (2009) - dallamaneni
http://www.mathprogramming-intro.org/
======
ms013
I personally have mixed feelings about Mathematica. Stephen Wolfram has
issues, but I don't buy software based on the attitude of the creator.
Otherwise, many open source projects that I use with some combination of very
cranky, irritable, rude, egotistical, and/or arrogant people involved would be
ruled out as well...

Closed source that costs $$$ is definitely an issue - for a while after school
it was hard to continue using Mathematica until my employer acquired a site
license and I got a home license. In the meantime I tried all of the usual
suspects - from open source things (Maxima, Sage, Octave, Julia, and so on...)
to other commercial products (e.g., Maple and Matlab). I ended up returning to
Mathematica for two reasons: 1) it has a massive standard library, and once
you learn the idioms of the library and the language, I found it pretty
usable; 2) it has beautiful graphics capabilities.

The open source tools are hit-or-miss on the standard library front - some of
the libraries are great, some are missing major features, or their
implementations are poor. (Yes, it's OSS and one can either contribute code or
feedback, but often I have a problem to solve NOW - I don't have time to wait
for the OSS to catch up.)

As for the graphics, I'm not sure what it is about Mathematica visualizations
that I like so much, but they look GOOD relative to the others I've tried.

At the end of the day though, Mathematica is just one of the useful tools in
my toolchain - the others have their plusses and minuses as well. But one
thing I've adapted to over the years is that A) sometimes good software costs
money, and B) sometimes jerks are involved in creating good software. Neither
case is one that I feel is a valid justification for rejecting a software
package outright.

Edit: It's worth noting the time period over which I've been mucking around
with Mathematica and the other alternatives I mentioned above. I started
seriously using numerical and scientific computing software (including
Mathematica) in 1994, so that's a 21 year period of wandering around the space
trying out things here and there.

~~~
jacobolus
Maple is IMO a much nicer programming language, but unfortunately their user
interface became awful sometime in the early 2000s when they switched it to a
Java-based UI framework.

------
efm
Sage is accumulating a lot of math software. Try it at cloud.sagemath.com. An
introduction to sage for undergraduates, using linear algebra as the topic
focus is at
[http://www.gregorybard.com/SAGE.html](http://www.gregorybard.com/SAGE.html)

------
analognoise
I try to avoid Mathematica because Wolfram himself is a self-centered prick
and it's closed source - it is a shame, too.

Matlab's strength is doing lots of things for you through its toolboxes; Sage
Math is a bloated monster, Maxima is pretty damn good, haven't spent any time
with Axiom. Octave is pretty good (none of those delicious toolboxes though)
and Scilab just 'felt' wrong (and its Simulink knockoff was atrocious).
Mathcad is great, but also expensive and closed - Mathworks kneecapped them by
buying the company that made their symbolic engine (and turning it into a
toolbox/addon for Matlab).

OpenModelica I never got far with, but I'd like to do some multidomain
simulation with eventually.

If I missed a good CAS, let me know.

~~~
williamstein
Nemo - a Julia-based CAS - was just released yesterday:
[https://plus.google.com/106997024604580807053/posts/GUWM4QiL...](https://plus.google.com/106997024604580807053/posts/GUWM4QiLBX3)

Also, I'm sorry you find SageMath to be a "bloated monster", but mathematics
itself is really complicated, and unfortunately there seems to be no royal
road to geometry.

~~~
analognoise
I have huge respect for the project, and I have used the same quote...but you
have to run an entire Linux system in a VM. If that isn't bloated, I have no
idea what is.

------
amelius
I wonder why the creators of Mathematica didn't aim for a pure functional
language.

------
josep2
Love programming in Mathematica in college but the closed source development
and expensive licenses made it a non-starter for me over the years.

