Wolfram Compute Services
Posted by nsoonhui 4 days ago
Comments
Comment by hebejebelus 4 days ago
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!)
Comment by ktpsns 4 days ago
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.
Comment by kingkongjaffa 4 days ago
As an engineering undergrad I had a similar feeling about Matlab & Mathematica.
Matlab especially had 'tool boxes' that you bought as add-ons to do specific engineering calcs and simulations and it was great, but I almost always found myself recreating things in python just because it felt slightly more sane to handle data and glue code.
Pandas and Matplotlib and SciPy all used via an ipython notebook were almost a replacement.
Comment by pjmlp 4 days ago
Comment by wasmainiac 4 days ago
Comment by pjmlp 4 days ago
Not everyone is keen doing scripting from command line with vi.
Comment by amluto 3 days ago
Comment by wasmainiac 3 days ago
Comment by sallveburrpi 4 days ago
Comment by wasmainiac 3 days ago
Comment by zozbot234 3 days ago
Comment by scotty79 4 days ago
Ugly os software at least has potential to grow internally. Long lived commercial software is a totting carcass with fresh coat of paint every now and then.
Comment by pjmlp 4 days ago
Someone has to pay the bills for development effort, and when it based on volunteer work, it is mostly followers and not innovators.
Comment by scotty79 4 days ago
Comment by aleph_minus_one 3 days ago
In many cases, people are free to write their own implementation. Your claim "Source code should enter public domain in a decade at most." means that every software vendor shall be obliged after some time to hand out their source code, which is something very strong to ask for.
What is the true crime are the laws that in some cases make such an own implementation illegal (software patents, probitions of reverse-engineering, ...).
Comment by scotty79 3 days ago
Obviously. Since software is as much vital to the modern world as water, making people who deal with it disclose implementation details is a very small ask.
Access to the market is not a right but a privilege. If you want to sell things we can demand things of you.
Comment by simonh 3 days ago
Infringing on that should be justified in terms of protecting the rights of those involved, such as ensuring the quality of goods, enforcement of reasonable contract terms and such. We are involved in the process as participants in the market, and that’s the basis of any legitimacy we have to impose any rules in the market. That includes an obligation to fair treatment of other participants.
If someone writes notes, procedures, a diary, software etc for their own use they are under no obligation to publish it, ever. That’s basic privacy protection. Whether an executable was written from scratch in an assembler or is compiled from high level source code isn’t anyone else’s business. It should meet quality standards for commercial transactions and that’s it. There’s no more obligation to publish source than there is to publish design documents, early versions, or unpublished material. That would be an overreaching invasion of privacy.
Comment by masfuerte 3 days ago
Comment by simonh 3 days ago
People shouldn’t lose their rights to what they own, just because they do so through a company.
I do think reasonable taxation and regulation is justifiable but on the understanding that it is an imposition. There is a give and take when it comes to rights and obligations, but this seems like overreach.
Comment by Nevermark 2 days ago
Well I wonder who it is you think has the right to deny others the freedom to cooperate economically by default. Then, allow "privileges" so people can work together.
--
Aside from that moral upside-down world, what you are describing is a steep limit on copyrights, with forced source, i.e. trade secret, reveals.
So you are removing the huge incentives that copyright creates. If software were always trivial to build, or cost very little to build, that would not be problem. In real life, that would devastate software work, and we would all be poorer for it. Companies, individual software developers, and users.
Comment by dataflow 3 days ago
The analogy would be ever-so-slightly more accurate if you said "software is as much vital to the modern world as beverages".
It would also be more accurate if all water was free.
Neither of which is the case.
Comment by esafak 3 days ago
Comment by scotty79 3 days ago
Comment by pjmlp 3 days ago
Comment by DonHopkins 3 days ago
Comment by themafia 4 days ago
It's $195/year for a personal license. And only $75/year for students. Their licensing model is pretty broad.
Comment by bborud 4 days ago
I don't remember what the pricing has been throughout the years. But I do remember that for some of the time I couldn't really afford Mathematica. And the license I wanted was also a bit too expensive to justify for a piece of software that only I would be using within an organization.
Because it is also about enough other people around you not being able to justify the expense. And about companies not wanting to pay a lot of money for licenses so they can lock their computations into an ecosystem that is very small.
Mathematica is, in the computing world, pretty irrelevant. And I'm being generous when I say "pretty": I have never encountered it in any job or even in academia. People know of it. They just don't use it for work.
It would have been nice if the language and the runtime had been open source. But Wolfram didn't want to go in that direction. That's a perfectly fine choice to make. But it does mean that as a language, Mathematica will never be important. Nor will knowing how to program in it be a marketable skill.
(To Stephen Wolfram it really doesn't matter. He obviously makes a good living. I'm not sure I'd bother with the noise and stress coming from open sourcing something)
Comment by aleph_minus_one 4 days ago
To my knowledge, at least in academia, Wolfram (Mathematica) seems to be used quite a bit by physicists. Also in some areas of mathematics it is used (but many mathematicians seems to prefer Maple). Concerning mathematical research, I want to mention that by now also some open-source (and often more specialized) CASs seem to have become more widespread, such as SageMath, SymPy, Macaulay2, GP/PARI or GAP.
Comment by smueller1234 3 days ago
They really did not appreciate the debugging experience, but maybe that's improved in 15 years. :)
Comment by tobias2014 3 days ago
Comment by jjgreen 4 days ago
Comment by superposeur 3 days ago
Comment by aleph_minus_one 3 days ago
Comment by DonHopkins 3 days ago
I can't tell if you're saying that as if it's a good thing, or a bad thing.
Comment by aleph_minus_one 3 days ago
Comment by pmkary 3 days ago
Comment by SSLy 3 days ago
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-co...
Now, I really could've used something like this on macOS…
Karabiner to the rescue https://genesy.github.io/karabiner-complex-rules-generator/#...
Comment by zwaps 3 days ago
Comment by andrewaylett 4 days ago
Comment by pmkary 3 days ago
Comment by dataflow 3 days ago
That said, the parent was talking about it being expensive for use in industry. Personal and student licenses aren't relevant there.
Comment by zorked 4 days ago
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.
Comment by jwrallie 4 days ago
I’m using xcas now, it’s working pretty well for my humble needs.
Comment by jazzyjackson 3 days ago
Comment by analog31 3 days ago
But it seems like the proprietary languages have all withered, regardless of price. Even $195 for Mathematica is an obvious concession to this trend. I don't ever remember it being that cheap.
I could write an essay on the benefits of free tooling, but enough has already been written. I'll spare you the slop. ;-)
Comment by wrxd 3 days ago
Comment by the__alchemist 3 days ago
Comment by YoshiRulz 3 days ago
Comment by escanda 3 days ago
Comment by hebejebelus 4 days ago
Comment by jiggawatts 4 days ago
Mathematica is way, way under appreciated in industry, and even in the sciences.
Comment by dr_kiszonka 4 days ago
Mathematica seems a little pricey but maybe it would motivate me to learn more math.
I would love to read what non-mathematicians use MatLab, Mathematica, and Maple for.
Comment by azeemba 3 days ago
Matlab and Python are in the same ballpark. Easy syntax and large standard library. Matlab provides a lot more dedicated libraries for niche areas but the overall experience feels the same.
Mathematica doesn't really have a standard counterpart. Jupyter notebooks try to capture the experience but the support for symbolic expressions makes the Mathematica experience very different.
Comment by rcxdude 3 days ago
Comment by hebejebelus 4 days ago
Comment by 3abiton 4 days ago
Comment by auxiliarymoose 4 days ago
In retrospect, doing the work in mathematica would have probably stretched my brain more (in a good way!) since it provides a different and powerful way of solving problems vs other languages...maybe I'll have to revisit it. Perhaps even try advent of code with it?
While python did get the job done, it feels like the ceiling (especially for power users) is so much higher in mathematica.
Comment by plomme 3 days ago
Comment by Keyframe 4 days ago
Comment by gucci-on-fleek 4 days ago
(Mathematica is of course much better than Python at symbolic math, but this isn't what you are asking about)
Comment by jwr 3 days ago
Incidentally, Mathematica + LLMs make a great combination. If you take what is pretty much the biggest mathematical routine library in the world and combine it with interactive visualization tools, and then use an LLM to accelerate things, it becomes an incredible tool. Almost ridiculously powerful for trying things out, teaching, visualizing things, etc.
(I've been using Mathematica since 1992 or so, so I'm familiar with the language, but it's still so much faster to just tell Claude to visualize this or that)
Comment by hebejebelus 3 days ago
I bet that if they can integrate LLMs _really_ well (I’m not sure the chat driven notebook thing is necessarily the way) it’ll be a massive upgrade.
Comment by cmiles8 4 days ago
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.
Comment by jebarker 3 days ago
Comment by fsh 4 days ago
Comment by pjmlp 4 days ago
One would expect 37 years would be enough to create such alternative.
Jupiter notebooks aren't the same.
Comment by xvilka 4 days ago
Comment by fsh 4 days ago
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.
Comment by gucci-on-fleek 4 days ago
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.
Comment by jimbokun 3 days ago
So as great as Mathematica sounds for interactive math and science computations, sounds like a poor tool for building systems that will be deployed and used by many people.
Comment by gucci-on-fleek 3 days ago
Yes, I definitely agree there. Mathematica is definitely great for interactive use, but I'm not really aware of anyone aside from Wolfram himself who tries to deploy it at scale.
Comment by qbit42 3 days ago
Comment by tobias2014 3 days ago
Comment by gucci-on-fleek 3 days ago
But with pattern matching, you almost never need to use "If[]" anyways:
fib[0] := 0
fib[1] := 1
fib[n_ /; n < 2] := Undefined
fib[n_Integer] := fib[n - 1] + fib[n - 2]
fib[8]
(* Output: 21 *)
fib /@ Range[10]
(* Output: {1, 1, 2, 3, 5, 8, 13, 21, 34, 55} *)
fib[-1]
(* Output: Undefined *)
fib["a string"]
(* Output: fib["a string"] *)Comment by cricalix 3 days ago
Comment by gucci-on-fleek 3 days ago
Yup, I use a long "jq" command [0] as a Git clean filter for my Jupyter notebooks, and it works really well. I use a similar program [1] for Mathematica notebooks, and it also works really well.
[0]: https://stackoverflow.com/a/74104693
[1]: https://github.com/JP-Ellis/mathematica-notebook-filter
Comment by tobias2014 3 days ago
Same about your criticism of error handling and control flow: https://reference.wolfram.com/language/guide/RobustnessAndEr...
Comment by disentanglement 4 days ago
Comment by amha 3 days ago
Comment by abdullahkhalids 3 days ago
Comment by pjmlp 4 days ago
Comment by pfortuny 3 days ago
Comment by pfortuny 4 days ago
Comment by freehorse 4 days ago
Comment by pfortuny 3 days ago
Comment by auggierose 4 days ago
Comment by pjmlp 4 days ago
Comment by auggierose 4 days ago
Comment by lancekey 3 days ago
Comment by auggierose 3 days ago
Comment by pjmlp 4 days ago
My point is that so much talk against it, and yet there isn't really worthwhile competition.
Comment by auggierose 4 days ago
Comment by hebejebelus 4 days ago
Comment by Smaug123 4 days ago
Comment by e40 3 days ago
Comment by jebarker 3 days ago
Comment by robot-wrangler 4 days ago
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.
Comment by pmkary 3 days ago
Comment by pjmlp 4 days ago
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.
Comment by creata 4 days ago
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?
Comment by pjmlp 4 days ago
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.
Comment by TheTaytay 3 days ago
Reminds me of the “Stop writing Dead Programs” talk. https://news.ycombinator.com/item?id=33270235
Comment by wasmainiac 4 days ago
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.
Comment by pjmlp 4 days ago
Comment by wasmainiac 3 days ago
Maybe it will someday be good enough, but not today, and probably not for at least 5 years.
Comment by pjmlp 3 days ago
Some of those tools aren't yet fully there, but also aren't completely dumb, they get more done in a day, than trying to do the same workflows with classical programming.
Workato, Boomi, Powerapps, Opal,...
Comment by wasmainiac 3 days ago
Comment by pjmlp 3 days ago
Comment by wasmainiac 1 day ago
Comment by metayrnc 4 days ago
Comment by hebejebelus 4 days ago
Comment by ChrisMarshallNY 4 days ago
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.
Comment by rcarmo 4 days ago
I played around with RemoteKernel some time ago (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).
Comment by hebejebelus 4 days ago
I do notice that they have an "Application Server" for Kubernetes, which is pretty curious: https://github.com/WolframResearch/WAS-Kubernetes (though not updated in over a year)
Comment by adius 4 days ago
I started working on an implementation in Rust called Woxi (https://github.com/ad-si/Woxi) and I hope to find some contributors, as it is such a gargantuan task!
Comment by Y_Y 4 days ago
Comment by babayega2 3 days ago
Comment by zozbot234 3 days ago
Comment by pkaye 3 days ago
Comment by Y_Y 3 days ago
Comment by pfortuny 3 days ago
Comment by sn9 3 days ago
Comment by pkaye 3 days ago
Comment by Gave4655 3 days ago
Comment by adius 3 days ago
Comment by jwr 4 days ago
Comment by d_burfoot 3 days ago
Comment by bob_theslob646 3 days ago
Comment by zero_bias 2 days ago
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.
Comment by ThouYS 4 days ago
Comment by adamwong246 3 days ago
Comment by beng-nl 3 days ago
Comment by adamwong246 3 days ago