5 ms·
Is there a reasonably neutral comparison of Mathics vs Mathematica anywhere? Based on an amazing showcase[1] Mathematica is right at the top of my list of lang
by l0b0 4y ago
Is there a reasonably neutral comparison of Mathics vs Mathematica anywhere?
Based on an amazing showcase[1] Mathematica is right at the top of my list of languages to learn if it (and at least some of the surrounding tooling) ever becomes open source. I wonder how many of those examples would give useful results in Mathics, or what their equivalents would be.
[1] https://codegolf.stackexchange.com/a/44683/9570 https://codegolf.stackexchange.com/a/44683/9570
- blablabla123 4y agoI doubt it, probably also because the price tag is so far away from cheap/for free if you cannot go for any student program in which case the question probably doesn't even pop up
- q-big 4y agoThat's not true: here is the pricing for the Home and Hobby licenses: > https://www.wolfram.com/mathematica/pricing/home-hobby/ https://www.wolfram.com/mathematica/pricing/home-hobby/ These prices are not cheap, but affordable if you are serious about your hobby.
- blablabla123 4y agoSure, but that's really strictly hobby. Anything remotely for commercial usage or even open source isn't an option, there the prices are 10x. Also for people just having finished studies even those prices can be a lot. IMHO the Home/Hobby licenses seem to be in a very tiny niche
- techdragon 4y agoAs much as I admire the power behind the “wolfram language”, it’s just never going to be open sourced, never going to really be available for a hobbyist to learn, never viable for a startup to build their entire data analysis core value on top of, its just never going to happen… Stephen Wolfram would die before he gave up control, the entire thing is his precious child. His track record at Wolfram Research is well established. Mathematica could be so much more, but basically until Stephen dies, it will remain an academic mathematical tool. It’s a complete coin flip as to when he dies the company will collapse or thrive, but it’s just so far away from anything they have plans for at the moment that it’s just impossible to guess.
- imglorp 4y ago> hobbyist At least there's a minimized version in Raspbian. It ran fine on an old B model, snappy enough to play around. https://www.wolfram.com/raspberry-pi/ https://www.wolfram.com/raspberry-pi/
- Syzygies 4y ago> Stephen Wolfram would die before he gave up control, the entire thing is his precious child. I understand that Wolfram made unrealistic agreements with the original programmers, incompatible with growing a large organization to support his evolving vision for Mathematica. Rather than renegotiating, he attempted a maneuver that did not survive a court challenge. The original programmers are now rich. I cannot find any account of this on the web. There's an unrelated "Fields medalist car accident" that I again know from first-hand accounts, that also has no trace on the web. Huh.
- radford-neal 4y agoInteresting. I do recall that quite a few years ago I happened to talk with one of the original programmers (I won't say their name here, though I remember it), who complained that Wolfram had basically stolen from them. That must have been before the court victory. So if anyone's wondering, this post does seem to be based on something, even if it's not easily verifiable.
- Syzygies 4y agoYes, surely they would have told you had they lost. Instead, silence and a change in spending habits. I don't know here that "not easily verifiable" is deliberate, but it could be. In the case of the Fields Medalist, one can read in major publications that they engaged a PR firm. Those articles don't specifically spell out sanitizing the web. If one already knows every detail of the event in question (in my case, confirmation includes overhearing him express concerns about a wrongful death lawsuit), an internet search finds many accounts relaying a cover story, and a single forum comment that correctly describes the event. That comment was apparently beyond the PR firm's reach.
- c7b 4y agoThe thing about Mathematica / the Wolfram language is that it's quite a bit harder to create an open source interpreter than it was for eg R (which is actually a FOSS interpteter for the commercial package S) or for Matlab (not sure what the status of Octave, the FOSS interpeter for Matlab code, is, I read an entry on a mailing list a long time ago that its sole dev was giving up). A lot of the symbolic solvers that are used under the hood are Wolfram's IP, and it would be a monumental effort to recreate something similarly powerful from scratch.
- psychphysic 4y agoYou've heard of SageMath right? The biggest thing missing from SageMath is a step by step solver. (Edit to add a caveat, I'm sure many professionals depend on minutiae of one or the other) Feature-wise I'd say Sage has more Mathematica functionality than Octave does for MATLAB. Sage is not trying to be compatible however presumably it wouldn't be that hard if the functionality is there? Sage is a bit of a Frankenstein though
- westurner 4y agoSageMath (and the cocalc-docker image, and JupyterLite, and mambaforge, ) include SymPy; which can be called with `evaluate=False` Advanced Expression Manipulation > Prevent expression evaluation: https://docs.sympy.org/latest/tutorials/intro-tutorial/manipulation.html#prevent-expression-evaluation https://docs.sympy.org/latest/tutorials/intro-tutorial/manip... > There are generally two ways to prevent the evaluation, either pass an evaluate=False parameter while constructing the expression, or create an evaluation stopper by wrapping the expression with UnevaluatedExpr. From "disabling automatic simplification in sympy" https://stackoverflow.com/a/48847102 https://stackoverflow.com/a/48847102 : > A simpler way to disable automatic evaluation is to use context manager evaluate. For example, from sympy.core.evaluate import evaluate from sympy.abc import x,y,z with evaluate(False): print(x/x) sage.symbolic.expression.Expression.unhold() and `hold=True`: https://doc.sagemath.org/html/en/reference/calculus/sage/symbolic/expression.html#sage.symbolic.expression.Expression.unhold https://doc.sagemath.org/html/en/reference/calculus/sage/sym... IIRC there is a Wolfram Jupyter kernel? WolframResearch/WolframLanguageForJupyter: https://github.com/WolframResearch/WolframLanguageForJupyter https://github.com/WolframResearch/WolframLanguageForJupyter mathics/IMathics is the Jupyter kernel for mathics: https://github.com/mathics/IMathics@main#egg=imathics https://github.com/mathics/IMathics@main#egg=imathics #pip install jupyter_console imathics #conda install -c conda-forge -y jupyter_console jupyterlab mamba install -y jupyter_console jupyterlab jupyter console jupyter kernelspec list pip install -e git+https://github.com/mathics/imathics@main#egg=mathics jupyter console --kernel= %? %logstart? %logstart -o demo.log.py There are Jupyter kernels for Python, Mathics, Wolfram, R, Octave, Matlab, xeus-cling, allthekernels (the polyglot kernel). https://github.com/jupyter/jupyter/wiki/Jupyter-kernels https://github.com/jupyter/jupyter/wiki/Jupyter-kernels https://github.com/ml-tooling/best-of-jupyter#jupyter-kernels https://github.com/ml-tooling/best-of-jupyter#jupyter-kernel... The Python Jupyter kernel checks IPython.display.display()'d objects for methods in order to represent an object in a command line shell, graphical shell (qtconsole), notebook (.ipynb), or a latex document: _repr_mimebundle_(), _repr_html_(), _repr_json_(), _repr_latex_(), ..., __repr__(), __str__() The last expression in an input cell of a notebook is implictly displayed: from IPython.display import display %display? # argspec, docstring %display?? # ' & source code display(last_expresssion) Symbolic CAS mobile apps with tabling and charting and varying levels of support for complex numbers and quaternions, for example: Wolfram Mathematica, Desmos, Geogebra, JupyterLite, Jupyter on mobile