Mathematica programming – an advanced introduction (2009)
mathprogramming-intro.org
mathprogramming-intro.org
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.
I found this (probably) highly biased, but never the less interesting comparison: http://www.wolfram.com/mathematica/compare-mathematica/files...
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.
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.