8 ms·
Rather than just bashing Stephen's personality and rehashing Cosma Shalizi's driveby on NKOS, can we try and focus on the technical accomplishment that Mathemat
by n-e-w 4y ago
Rather than just bashing Stephen's personality and rehashing Cosma Shalizi's driveby on NKOS, can we try and focus on the technical accomplishment that Mathematica represents?
It really is an astounding system. If you enjoy functional programming, the language is super expressive and productive. The integrated libraries are fantastic -- especially if you want to chain together different knowledge domains through a consistent interface and syntax. You can get the entire Wolfram Alpha knowledgebase and curated datasets to use in your programs immediately.
The front-end is just lightyears in front of Jupyter notebooks in just about every conceivable way.
This isn't to hide that there are some frustrating things about the language (like, machine learning development has just stopped dead after a couple of really great years of feature dev...why?) and, especially, the organisation and some of its personalities. But the product -- it really should get a lot more kudos and wow factor based on real accomplishments and features that are live, in the real world.
I love Wolfram stuff.
- spoonjim 4y agoI’ve come around on Stephen Wolfram. His puffery essentially hurts nobody besides perhaps those close to him, it’s easy to tune out, while his ambition has produced this really wonderful piece of software.
- DantesKite 4y agoHe seems to have a very loving family, having collaborated with his son on various projects quite frequently.
- spoonjim 4y agoPeople’s public and private personalities have very little correlation.
- DantesKite 4y agoYes that adage is true, but I don’t think that’s relevant in this context, since that’s not the point I was trying to make. I was offering a specific counter example to your observation that he was possibly hurting those closest to him. > His puffery essentially hurts nobody besides perhaps those close to him I think if he was genuinely hurting the people closest to him, like his family through his brash personality, they wouldn’t want to collaborate with him on long, extended projects. Especially considering how old and intelligent his son is.
- spoonjim 4y agoI wasn't talking about his family, I was talking about his professional contacts.
- mhh__ 4y agoHurts no one except the people he sues for working on his ideas faster than him
- sundarurfriend 4y agoAny examples?
- jiggawatts 4y agoThe saddest thing about Mathematica is that despite the incredible level of effort invested into it by some of the smartest people on the planet, it will inevitably be relegated to the dustbin of history. As a proprietary language and kernel, it can never compete long-term with open source alternatives. It's one thing to have a proprietary product, but for decades now proprietary languages have been a no-go for practically everyone. Even formerly closed languages have been opened sourced, such as Java and C#. There is no other use for Wolfram Language scripts outside of Mathematica, which comes with a "license server". That's... a dead end. Can I publish Wolfram code in Docker Hub and expect it to work (legally)? No. Can I throw some Wolfram code into an Azure Function and have it compute something for me on demand? Nope. Can I embed Wolfram code into a C# app, publish it on GitHub, and have other people be able to use it without forking out $thousands for a Mathematica license? Nope! And on and on... Python, Julia, and Jupyter notebooks will simply wipe out all usage of Mathematica outside of a few esoteric fields. As you said, they're all markedly inferior in almost every way, except for one critical one: they're open and extensible. You mentioned AI/ML having stopped dead in Mathematica. I noticed that too. I wanted to test some GPU-hosted ML stuff recently that's not the standard Pytorch/Tensorflow type of thing, checked Mathematica, gave up, and I'm now using Julia. If Mathematica was more open, there would be no "dead end" there, I could simply extend it. Or more importantly, other people would have already.
- pjmlp 4y agoJava and C# are partially open source, some of the best tools that make them shine are commercial. Real time bare metal implementations, GUI tooling, 3rd party GUI components ecosystem, data analysis of runtimes in productions without code changes, architecture modeling tools on the IDEs,...
- bowsamic 4y agoI'll believe it when I see it, because right now there is no alternative. I wrote a piece of physics software recently and sympy (and indeed python in general) was so lacking in features that I had to write half of the software as mathematica packages, half of it as python. I would have implemented those functions myself but they are actually extremely non-trivial and I wouldn't be surprised if just one of the basic functions I needed had many years of R&D and thousands of lines and edge cases. Until there is an open source software that can match the raw symbolic power combined with the huge libraries nothing can touch it for a lot of people.
- dig1 4y agoI will second this. Wolfram (Stephen and company) marketing isn't spot on, but I'm yet going to find a system like Mathematica. People on HN forget that most of the places where Mathematica is intended to (R&D, math/physics departments, research facilities etc.) don't have tech people willing to battle with Python versions, packages, Jupyter installations, and all sort of nuances - they just want an installation they are going to click and immediately have a huge library for everything. And no, "just run pip ..." will not work - who worked on these facilities probably knows how some of the smartest people in the world could be extremely dumb with the tech stuff. Regarding Wolfram Language, at the beginning (when it was just a "Mathematica"), I hated it as I came from the C/C++ world. But after I embraced lisp et al., I found Wolfram Language very expressive and easier to grasp than before. Moreover, if I'm not mistaken, Wolfram Language is the only widespread implementation of M-expressions [1], the original form of LISP how John McCarthy wanted it to look. > The front-end is just lightyears in front of Jupyter notebooks in just about every conceivable way. Absolutely :) [1] https://en.wikipedia.org/wiki/M-expression https://en.wikipedia.org/wiki/M-expression
- buescher 4y agoIt only takes pip breaking once before "only free if your time has no value" becomes all too real.
- ISL 4y agoI recall some unpleasant fights with license-servers in my past.
- 7thaccount 4y agoIt is a TRS (term rewriting system) and very cool. I've posted on this before. There's not a whole lot on TRS, but there is some information out there.
- tableofzero 4y ago>machine learning development has just stopped dead From https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn131 https://reference.wolfram.com/language/guide/SummaryOfNewFea... New in machine learning in 13.1 ... ContentDetectorFunction (updated) — support for Information DimensionReducerFunction(updated) ▪ FeatureExtractorFunction(updated) FindClusters (updated) — support for fixed number of clusters and UpTo ClusterClassify(updated) ▪ ClusteringComponents(updated) Interpretable Machine Learning FeatureValueImpactPlot — plots the impact of a feature on a model result FeatureImpactPlot — plots the impact of each feature together CumulativeFeatureImpactPlot — plots the cumulative impact of each feature FeatureValueDependencyPlot — plots the result dependency on a feature value Network Layers » ReplicateLayer (updated) — support for integer arrays RandomArrayLayer (updated) — support for more statistical distribution AttentionLayer (updated) — support for dropout and local masking ElementwiseLayer (updated) — new activations "Mish" and "GELU" ThreadingLayer(updated) ▪ FunctionLayer(updated) Network Training » NetTrain (updated), LossFunction (updated) — support for multi-output and nonscalar loss Encoders & Decoders » "Image" (updated) — resampling and padding support "Class" (updated) — support for top-k and top-p sampling (nucleus sampling) Formats "ONNX" (updated) — export support for net operators
- n-e-w 4y agoThree of their best ML engineers /devs left in the last 12 months or so. The backend for anything deep-learning is MXNet...which is essentially a non-starter these days vs PyTorch or TensorFlow. All these functions you cite are very low level updates not real feature updates. I would say in 2018-2019 the ML / Deep learning stack was actually very impressive compared with what was available in FOSS. Now -- it's languishing. Badly.
- ur-whale 4y ago>rehashing Cosma Shalizi's driveby on NKOS https://archive.ph/5GX2 https://archive.ph/5GX2
- auggierose 4y agoMathematica is great. And Wolfram has carved out a place for himself in this world where he can do what he loves. Give me more people like that.
- MonkeyClub 4y ago> I love Wolfram stuff. I'm with you 100% here, but I'm also 100% with sibling jiggawatts. To me, Mathematica is a computation environment that conveys a Lisp Machine feeling of "the machine and I are working on this problem". You know, that "assembling things live in the sky" Lisp feeling (Yegge's phrase, not mine). The only other computation environment that is right there en par in flexibility and conveyance of the same trippy feeling is, of course, Emacs. The company can still make money from academic and professional licensing and support contracts, and everyone else gets to have access to an awesome thinking tool as a matter of fact. They've already gone that direction a bit with the Raspberry release, what's left now is just the final push. So, if Stephen Wolfram ever reads this: Open source Mathematica and it will have a chance at immortality. Just like Lisp and just like Emacs, and the people will rejoice. Disclaimer: I started with Mathematica 4.0 at age 14 (a pirate copy too, sorry!), turned on by that marvellous column in Quantum. But I was put off precisely due to the proprietary nature, and switched to C and Lisp. Consequently I became a CS guy rather than a Physics guy, because C and Lisp were accessible early on, while Mathematica wasn't (legitimately).
- marbletiles 4y ago> turned on by that marvellous column in Quantum which column?
- AlanYx 4y ago>You know, that "assembling things live in the sky" Lisp feeling (Yegge's phrase, not mine). > >The only other computation environment that is right there en par in flexibility and conveyance of the same trippy feeling is, of course, Emacs. Agreed. That's the main thing that tends to get lost when people make comparisons between MATLAB and Mathematica. Mathematica is conceptually elegant and often just a joy to work with as an intellectual tool. Its core problem is just that it isn't more widely available. MATLAB on the other hand is just an inelegant, obvious implementation of a numerical environment. Its strength is just the variety of toolkits you can license, but once your domains get equivalent open source toolkits, there's no reason not to bail on MATLAB. >I started with Mathematica 4.0 at age 14 (a pirate copy too, sorry!) The nice thing these days is that the full version of Mathematica is available for free on the Raspberry Pi. Wolfram deserves some kudos for that.
- agoose77 4y agoCould you elaborate on > The front-end is just lightyears in front of Jupyter notebooks in just about every conceivable way. I had the opposite experience, but it's a very broad statement and I suspect we took different interpretations of "front-end"
- kgwgk 4y agoUnder what interpretation of "front-end" would Mathematica's front-end be behind of Jupyter notebooks?
- agoose77 4y agoHah, answering a question with a question ;) A few pain points for me: - No Markdown support. Yes, there's rich input, but I find it more natural to write prose in a markup language rather than with a rich editor. - Single "kernel" support. This isn't a criticism of Mathematica per-se: it doesn't care about other languages. But, it's nice to be able to use Jupyter Notebooks with C++, Python, etc. - Limited UX w.r.t layout. JupyterLab lets me pin outputs, split the view, run a terminal alongside my notebook etc. - Restricted ecosystem. This is a big one - it's not trivial to write an extension for Mathematica to extend its UX / rich output mechanism. With Jupyter, this is fairly trivial. Don't get me wrong, they're different tools, and that's why I'm reluctant to engage with "X is better than Y" discussions. Mathematica is vastly unsuited to the kind of analysis / work that I do, whilst I'm sure the same is true of those who swear by Mathematica.
- kgwgk 4y agoOk. If you like Jupyter more than Mathematica as a front-end you can use wolframscript https://www.wolfram.com/wolframscript/ https://www.wolfram.com/wolframscript/ as a Jupyter kernel: https://github.com/WolframResearch/WolframLanguageForJupyter https://github.com/WolframResearch/WolframLanguageForJupyter You can use it with the free (for non-production use) Wolfram Engine: https://www.wolfram.com/engine/ https://www.wolfram.com/engine/