10 ms·
Wolfram Compute Services
- fsh 11mo agoMaybe with the power of a supercomputer, Mathematica can finally launch in less than 30s. I have no idea how a software that still does essentially the same thing as it did in 1988 can be that sluggish.
- pjmlp 11mo agoYet there is hardly any computing system that can replicate Mathematica tooling capabilities. One would expect 37 years would be enough to create such alternative. Jupiter notebooks aren't the same.
- xvilka 11mo agoSage Math? Though I admit, unlike homogeneous Mathematica, it's just a Python glue on multiple smaller projects of different quality and poorly integrated. I wish there was something more like the Wolfram software but there isn't.
- fsh 11mo agoI quite like Sage. Python is a much better language than Wolfram (yes, he named it after himself...). In Wolfram, there is no real scoping (even different notebooks share all variables, Module[] is incredibly clumsy), no real control flow (If[] is just a function), and no real error handling. When Wolfram encounters an exception, it just prints a red message and keeps chugging along with the output of the error'd function being replaced by a symbolic expression. This usually leads to pages and pages of gibberish and/or crashes the kernel (which for some reason is quite difficult to interrupt or restart). Together with the notebook format and the laughable debugger, this makes finding errors extremely frustrating. The notebooks are also difficult to version control (unreadable diffs for minor changes), and unit testing is clearly just an afterthought. Also the GUI performance is bad. Put more than a hand full of plots on a page, and everything slows to a crawl. What keeps me coming back is the comprehensive function library, and the formula inputs. I find it quite difficult to spot mistakes in mathematical expressions written in Python syntax.
- disentanglement 11mo agoFully agreed. I have never seen a programming language which is so badly designed as Wolfram. I really wish there was another way to access all of Mathematica's functionality with a more sane interface.
- gucci-on-fleek 11mo ago> Python is a much better language than Wolfram Different languages are better at different things, so it rarely makes much sense to say that one language is better than another in general. Python is definitely much better than Mathematica for "typical" imperative programming tasks (web servers, CLI programs, CRUD apps, etc.), but Mathematica is much better at data processing, symbolic manipulation, drawing plots, and other similar tasks. > there is no real scoping (even different notebooks share all variables, Module[] is incredibly clumsy) Scoping is indeed an absolute mess, and the thing that I personally find the most irritating about the language. > no real control flow (If[] is just a function) You're meant to program Mathematica by using patterns and operating on lists as a whole, so you should rarely need to use branching/control flow/If[]. It's a very different style of programming that takes quite a while to get used to, but it works really well for some tasks. > no real error handling For input validation, you should use the pattern features to make it impossible to even call the function with invalid input. And for errors in computation, it often makes the most sense to return "Undefined", "Null", "Infinity", or something similar, and then propagate that through the rest of the expression. > The notebooks are also difficult to version control (unreadable diffs for minor changes) Mathematica notebooks tend to do slightly better with version control than Jupyter Notebooks, although they're both terrible. You can work around this with Git clean/smudge filters, or you can just use ".wls"/".py" files directly.
- cricalix 11mo agoOn the note of Jupyter notebooks and version control - there was a talk at this year's Pycon Ireland about using a built in cleaner for notebooks when committing the JSON (discard the cell results), and then dropping the whole lot into a CI system utilising remote execution (and Bazel or similar) to run and cache the outputs. Was a talk from CodeThink. No video up yet though. Scenario was reproducible notebooks for processing data from a system under test.
- pjmlp 11mo agoYeah, but that was my point, similar capabilities, not a bunch of tools glued together, poorly integrated, as you point out.
- pfortuny 11mo agoHave you tried Maple? It is also proprietary but it comes from (originally) Waterloo University, and is used in Academia too.
- abdullahkhalids 11mo agoI tried Sage Math. Just the fact that one has to declare all variables before using them, makes it extremely annoying. In Mathematica, I frequently do computations which have a couple of dozen variables. I am not going to write boiler plate for 20 different variables in every notebook.
- amha 11mo agoI've used Sage for years to run the backend (calculations/computations/graphics/prototyping) for a multivariable calculus class I teach. It's not perfect, but as a lightweight, Python-style CAS to do all sorts of "standard" calculations, it's very easy to use!
- pfortuny 11mo agoHonest question: I think Maple is really a competitor, even if less known.
- freehorse 11mo agoProb I am a very small minority here, but I used Maple a lot in the past and I liked it a lot. More standard syntax than mathematica, and overall much much easier to debug. In particular, as far as I remember, maple allowed for more transparency in the mathematical methods used in some computation than mathematica, as I could just see what it was doing exactly when an unexpected result came or I wanted to understand some method. When you work a lot with integrals, limits and special functions there is always a shit ton of assumptions and cases all over the place, and if something is missed somewhere the computation can just get wrong. There were some few times I would actually get wrong results in mathematica. When the language is more like a black box, it is hard to know what happened.
- pfortuny 11mo agoThat is also my feeling, although it has been ages since I last worked with Maple. But some colleagues of mine at other uni do use it instead of Mathematica. Thanks for the detailed reply!
- auggierose 11mo ago[flagged]
- pjmlp 11mo agoI have no qualms with proprietary software, use plenty of it.
- auggierose 11mo agoYes, I didn't think so. So again, why do you want an alternative? Is there something about Mathematica you don't like, but think an alternative would do better?
- pjmlp 11mo agoYou have to ask fsh that question. My point is that so much talk against it, and yet there isn't really worthwhile competition.
- auggierose 11mo agoOk, I agree with you. I own a copy of Mathematica myself. This topic just very much interests me, because there is this dilemma with this kind of software (I am working on something like that myself): It is so much work, you need to charge for it; on the other hand, for widespread adoption it probably needs to be open-source. What do you do?
- lancekey 11mo agoOP never said he wanted an alternative, just expressed surprise an alternative/competitor didn’t exist.
- auggierose 11mo agoI know. I just picked on it because on one hand it is great that Wolfram was able to execute on his vision and make it work as a viable product. It needs a lot of resources to make something as great as Mathematica. On the other hand, an essential tool like that, you want to own it for life and grow with it, and I don't think that is quite possible with a "product".
- redfloatplane 11mo agoI think it's an extreme example of not-invented-here syndrome. In many ways that leads to interesting novelties, and in others it leads to not having undo/redo until the 2010s.
- Smaug123 11mo agoIn fairness the problem is not easy! JupyterLab only got document-wide undo/redo in 2021 per https://jupyterlab.readthedocs.io/en/3.1.x/getting_started/changelog.html#id68 https://jupyterlab.readthedocs.io/en/3.1.x/getting_started/c... .
- e40 11mo agoMathmatica has been around since the 80s, Jupyter how long? Far leas.
- redfloatplane 10mo ago"Fun" fact: This is partially because Wolfram owned a patent on the "code notebook" invention. Once it expired, Jupyter was created.
- jebarker 11mo agoThis is how I feel about basically all consumer software
- pjmlp 11mo agoI love this, too many people keep themselves busy discussing bits and bytes, or Stephen Wolfram's personality. The reality is that by now we should already be at a level where common programming would be like Wolfram everywhere. Maybe agents and LLM driven code generation is how we eventually get into the next abstraction level, sadly won't be without casualties with smaller team sizes, when so much can be automated away.
- creata 11mo ago> The reality is that by now we should already be at a level where common programming would be like Wolfram everywhere. What aspects of the Wolfram language should be everywhere? The easy access to lots of datasets? The easy access to lots of mathematical functions? CAS in general?
- pjmlp 11mo agoAll of those, plus having an interactive graphical environment, debugging experience and optimisation when needed. Basically the ideas of Smalltalk and Lisp Machine variations, that are still only partially available in modern IDEs, and proudly ignored by the "vt100 rules and vi first" minded devs.
- TheTaytay 11mo agoYes! Reminds me of the “Stop writing Dead Programs” talk. https://news.ycombinator.com/item?id=33270235 https://news.ycombinator.com/item?id=33270235
- wasmainiac 11mo agoHi Stephen, is that you? Jokes and sales pitches aside. We kinda have that already, we platforms that allow us to run the same code on, x86, arm, wasm… and so on. It’s just there is no consensus on which platform to use. Nor should there be since that would slow progress of new and better ways to program. We will never have one language to span graphics, full stack, embedded, scientific, high performance, etc without excessive bloat.
- metayrnc 11mo agoI really like this way of introducing a new feature/service. Straight to the point, explains what it does, which problem it solves, gives practical examples and walks the reader through them. So many times when I read about a new feature/service I am left with more questions than I had started with, but this was great!
- redfloatplane 11mo agoOne of the more interesting things about WL is that Stephen Wolfram is really a genuine daily user of the software his company makes and he's the final say on what ships and in what form. They used to livestream his meetings reviewing potential new features on Youtube, an interesting watch. It didn't make me want to work there but I did feel like he cared very much. Quite Jobsian, dare I say.
- ChrisMarshallNY 11mo ago> Quite Jobsian, dare I say. Good for product: not so good for people. I am told that he gave a great deal of agency to people he trusted, though. In my career, I ran into two [brilliant] individuals that had, at one time, worked with Jobs. They both hated him.
- deleted 11mo ago[deleted]
- redfloatplane 11mo agoMan, I miss Wolfram Language. Once you've twisted your brain a little to grok its usage, it's such an incredibly high-value tool, especially for exploration and prototyping. I saw it more as a do-anything software tool for researchers rather than as a language aimed at programmers, so I put on a researcher hat and tried to forget everything I knew as a professional programmer, and had a few memorable seasons with it around 2016-2020. I remember calculating precisely which days of the year would cause the sunlight to pass through a window and some glass blocks in an internal wall, creating a beautiful light show indoors. It only took a couple of minutes to get a nice animated visualisation and a calendar. Nowadays I'd probably just ask Claude to figure it out for me, but pre LLMs, WL was the highest value tool for thought in my toolbox. (Edit: and they actually offer perpetual licenses!)
- ktpsns 11mo agoThe power of the language came from the concise syntax (I liked it more then classical LISPs) with the huge library of Mathematica. When Python is "batteries included", Mathematica is "spaceship included". If this was open sourced, it had the potential to severely change the software/IT industry. As an expensive proprietary software however, it is deemed to stay a niche product mainly for academia.
- redfloatplane 11mo agoThat's exactly the same analogy I used to use, although I said "nuclear reactor included" - spaceship is better, it implies less danger and more expanded horizons!
- themafia 11mo ago> As an expensive proprietary software however It's $195/year for a personal license. And only $75/year for students. Their licensing model is pretty broad.
- zorked 11mo agoIt still creates a class of haves and have-nots which prevents forming a community. Plus you buy a version of it, and then someone else is on another version, and you don't have the same features, and the tiny community is fragmented.
- rcarmo 11mo agoHuh. So Stephen finally discovered cloud computing (yes, I know about the hosted notebooks). I played around with RemoteKernel some time ago (https://taoofmac.com/space/blog/2016/08/10/0830 https://taoofmac.com/space/blog/2016/08/10/0830) but this is “better”, although I wish they’d make it hostable in your own cloud provider like materials simulation software and other things we see running in HPC clusters. (I also ran Mathematica in a 512GB/128core VM once for kicks, but it’s just not cost-effective).
- redfloatplane 11mo agoJust before I stopped using Mathematica they came out with that headless kernel, and I had wondered if you could spin it up on a Kubernetes cluster or something. I do notice that they have an "Application Server" for Kubernetes, which is pretty curious: https://github.com/WolframResearch/WAS-Kubernetes https://github.com/WolframResearch/WAS-Kubernetes (though not updated in over a year)
- jessews 10mo ago> I wish they’d make it hostable in your own cloud provider Wolfram Compute Services is based on the RemoteBatchSubmit featureset, which also supports AWS Batch (https://reference.wolfram.com/language/ref/batchcomputationprovider/AWSBatch.html https://reference.wolfram.com/language/ref/batchcomputationp...) and Azure Batch (https://reference.wolfram.com/language/ref/batchcomputationprovider/AzureBatch.html https://reference.wolfram.com/language/ref/batchcomputationp...) backends. [Disclosure: I am the main developer of RemoteBatchSubmit.]
- ThouYS 11mo agothe beauty of pure functions :)
- adius 11mo agoWith all the integrated standard functions Mathematica is such an incredible tool. We really need an open source version of it. Even if we implement only 10% of the features it would be already incredible useful. I started working on an implementation in Rust called Woxi (https://github.com/ad-si/Woxi https://github.com/ad-si/Woxi) and I hope to find some contributors, as it is such a gargantuan task!
- Y_Y 11mo agoHere's a 10% clone of Mathematica - https://mathics.org/ https://mathics.org/
- babayega2 11mo agoMaxima is the clone. I remember using it 20 years ago. very nice.
- pfortuny 11mo agoMaxima, despite its shortcomings, is a great tool for symbolic computation.
- zozbot234 11mo agoIt's more like both Mathematica and Maxima are clones of the original MACSYMA.
- pkaye 11mo agoMaxima is based on the DOE (Department of Energy) fork of MACSYMA.
- Y_Y 11mo agoMaxima is a similar CAS, but it's not a clone of Mathematica like Mathics aims to be.
- sn9 11mo agoThis reminded me of one of the greatest posts in the history of the internet, and I am devastated to report that it no longer exists: https://news.ycombinator.com/item?id=6516114 https://news.ycombinator.com/item?id=6516114
- robot-wrangler 11mo agoSo "use our proprietary service to scale our proprietary language" is a great pitch for people who are already all in. Increasing spend among existing customers won't help you get new ones though. And it kind of feels like a prelude to nerfing non-cloud based usage. Typical example of a extraction/exploitation mentality where innovation would be better. Wolfram is in an amazingly good spot to spin up better "simulation as a service" if they would look at fine-tuning LLMs for compiling natural language (or academic papers) into mathematica semi-autonomously and very reliably. Mathworld is potentially a huge asset for that sort of thing too.
- pmkary 11mo agoGood point
- jwr 11mo agoI've been using Mathematica since 1992 or so and at least for the last 20 years I've been wondering why they didn't provide cloud computing services, so that I can simply evaluate stuff remotely on a larger computer. So, I guess I should say "FINALLY!" :-)
- cmiles8 11mo agoThe tech world needs more Stephan Wolframs. Yes this is all a bit quirky and nuanced but when you get into it these things are really good. It’s refreshing to see some really smart folks just focused on doing great things without blinding from VCs and MBAs pushing another hacky quick way to make a buck and cash out.
- jebarker 11mo agoI agree. Wolfram gets so much crap ok this site but I think he’s produced so much interesting science and tech that has built up over decades, that’s very admirable.
- d_burfoot 11mo agoDo quant traders use Mathematica? I would guess this would be a great use case for a tool that lots of people love. Pretty language, huge boatload of built-in tools, high powered mathematics, great visualization capabilities. Quant firms should be able to live with the price tag. I assume they have a compiler that can produce fast executables for HFT.
- bob_theslob646 11mo agoThey do
- adamwong246 11mo agoI'm slightly terrified of the combination of Wolfram and a LLM.
- beng-nl 11mo agoI’m not worried, wolfram is already a huge language model, adding a large one won’t make it any better/worse :-)
- adamwong246 11mo agoWhat I know about Wolfram is pretty old, so maybe I was unaware. But I do remember a time before LLMs and even 15 years ago, Wolfram was very impressive.
- zero_bias 11mo agoInstead of offloading batch computations to a proprietary cloud, it’s better to actually optimize the incredibly slow and unstable computational kernel. In any case that’s not the happy path, Mathematica gets stuck in symbolic computations for ages. My FFT-based research in Mathematica slowed to a crawl, tens of minutes of waiting, even with 90% of the code compiled to binary. MATLAB finishes this task in milliseconds.