I've always found Wolfram Alpha surprisingly unhelpful and impossible to integrate into an enterprise application in a meaningful way in practice. This is an interesting paradox, I sometime call it the Wolfram paradox, here is what I mean:
Their platform is so sophisticated that it produces output in a non-deterministic format depending on your search terms. Therefore, if you want to consume their service by leveraging the full smartness and cleverness of their platform, your consuming application needs to be equally smart and clever if you want to do anything more useful than displaying their raw output in an iframe. This means that you'd have to re-implement non-trivial parts of their platform.
The only way to solve this problem would be to restrict your input to a fix format to make their output more predictable. But at that point you'd in practice rather use a more specialized (and much less expensive) solution. The only use case I can see for this is either very complex computations for which either no other vendor exists, or requiring so much resources to run that their platform is the most convenient option. Or alternatively the interactive use case to iterate on a solution as part of R&D, which I believe is the main way people use their products.
This is not a shocking limitation per se, but their marketing messaging has long been suggesting that they have a vision where developers will heavily use the power of their platform to build a wide range of real world applications both in the consumer and enterprise space. My point is that this will never happen because of the aforementioned paradox. They have built an incredibly smart solution, but it sorts of have a curse by design preventing it from moving out of the interactive niche.
So I feel like you're right in that we can do a better job of explaining how to do this (I obviously work at Wolfram Research).
But I think it's very possible and a strength of ours. Wolfram|Alpha is used by many services, including now MS Excel which I think is a counter example to the paradox you mentioned.
Has anyone here used Wolfram Cloud? Itchy junk, have you? What was your experience?
I have some experience from a few years ago with the self hosted version but I haven't had anyone to compare notes with since then. Ultimately it was more cost-effective for us to migrate to Python and jupyter lab.
I started using it yesterday since I realized it was free. I am kind of using it like a scripting language for a smart search engine. I don't know if that's the right mentality but it seems to have some features i kind of want from a search engine to quickly do research with. Find some data, show me a graph of it. Use the last search result to do some other stuff kind of stuff. That is partially why I posted it to HN, hoping to see what other people are using it for.
The community forum thingy that's built in seems to have a lot of people using it for very mathy things like visualizing particular solutions to say PDE or somesuch.
Pros: The Wolfram / Mathematica language, once you learn it, is likely to be consistent and powerful. (Browse some questions on https://mathematica.stackexchange.com/)
Cons: Mostly around familiarity and ubiquity, versus a closed ecosystem. For example, it took me a long time to figure out how to put everything into the Wolfram language (imperative things are awkward to do; had to figure out how `Do` and `Module` work), there are fewer resources for learning it, etc. Can't use standard Markdown, nor TeX syntax for math[1] AFAIK. There may be an alternative way to typeset mathematics; I never got around to it. The UI is unfamiliar to me (harder to see where the cells are, deleting a cell was nontrivial to figure out).
Maybe with time it will become easier, but overall, I expect to continue to use Jupyter / Colab notebooks when they work well enough, and try Wolfram Cloud again when I want something really nontrivial that sympy / Sage / etc can't do cleanly… which is probably unlikely, as the Python ecosystem continues to close the gap.
I'd love more tools for using TeX and markdown. There are a few but they're not really given as a first choice anywhere.
About MathML... I mean I'm also not a fan. I'm not sure anyone really is. I've been cursed to work with it in some legacy pages. I love using mathjax. I'm not familiar at all with the two people who from the company who worked on it or that project. But I think it's going a bit far to think that MathML was nefarious corporate plot to manipulate the W3C. (0) MathML doesn't interoperate with WolframLanguage in any particularly great or exclusive way. (1) MathML makes more sense for the time period it was introduced than it does now. Mathjax is technology I don't think people foresaw at the time (Reparsing the DOM and injecting some kind of formatted math notation?!) People really thought math notation would need to be expressed in an XML like format. The other option at the time afaik was static images you'd generate from LaTeX and insert into your document. (2) TeX is a language for typesetting math in a paper and people thought we'd need something that went deeper, representing something closer to the intended semantics of the notation. This was probably a mistake.
Afaik MathML didn't make it harder for people to use TeX on the web.
Oh yes, definitely, I didn't mean that MathML was a nefarious corporate plot. Just that there's a tension between pragmatists and idealists: in this case those who just want to put math on the web for the common case in any way at all (images, MathJax, whatever works), and those who think/thought that semantics should be encoded, just as you said. (That's what the page I linked says too: "There was a danger during the 1990s that a standard would emerge for mathematical representation on the web that would be based on a TeX[…]-like typesetting language. This would have been disastrous […] To head off this possibility, Wolfram Research and Neil Soiffer decided to do everything they could to […]" etc.)
This tension has played out a few times in practice, e.g. when Wikipedia removed the (added in 2012) MathJax option and went back to images-only (2016? https://phabricator.wikimedia.org/T99369) based to a large extent on arguments from people who are (still) MathML proponents (which I understand Wolfram may not be any more) — at least some of them are "semantic" advocates who believe in "structured" math input rather than "presentation" markup. So there's some conflict there.
(Anyway, this is all historical and unrelated to Wolfram Cloud.)
Wolfram Cloud keeps getting better. It's streets ahead of where it was a year or two ago.
Best feature is the ability to share files with notebooks created in the desktop version.
My workflow is: create and refine using the desktop version or Mathematica or Wolfram Desktop. Then access the notebook from anywhere, anytime, even on mobile devices.
Some downsides: you can mess-up a notebook on mobile there's effectively no "undo" capability to fix botched steps.
Presently I'd say, if you are using the cloud version only, best to create and iterate on a desktop computer browser first. Creating and iterating on a tablet or phone browser isn't going to be a good experience. That said, it's getting there.
I use it from time to time for work. It lacks some of Mathematica’s typographic flair (can’t ctrl-^ to get a superscript box or / to get a fraction) but IIRC has better undo support on desktop and satisfactory performance as long as your output expressions don’t get too big. The web layout engine chokes pretty badly for medium-to-large expressions, although there is an automatic transition to pre-rendered images at a certain level of complexity.
I use it when I want an industrial-grade CAS for some nasty integral or when I want to do something LISPy.
It helped me learn calculus in university. It could take a given integration or derivation question and show the path to the solution in steps with plain English explaining what was done to achieve each. I like learning via examples and got a lot out of being able to consult more examples than our textbooks provided.
So did I but since they changed the input field on their website to the weird new “Math Input” UI, most inputs that would just work perfectly fine a year or so ago now don’t get parsed correctly anymore. It’s made WolframAlpha virtually unusable for me. No idea what happened there.
Maybe not in any meaningful way for our species or our industries, but I find it meaningful to me.
I use it to read scientific articles on subjects I don't know much about. For example, an article talks about a percentage of the population, but I don't know how big that population is. I can simply go into Wolfram and get the missing data. I can also use it to make comparisons with other countries or time periods and, with a few basic queries, quickly explore ideas.
I'm not a scientist, just a programmer with too much time and curiosity on her hands. For me, it gives me a better understanding of topics I was not trained in.
I also use it almost daily to find out the nutritional value of foods. "Foods ranked by vitamin A", "Proteins in 100g of broccoli", etc.
3. Computations with visualisation: “area under y=x^2 from 1 to 3”
4. Bitrate calculations: “1.5TB at 10mbps”
5. Compare weather/climate between cities: “compare weather brussels and cape town”
I use ddg as search engine, so can just add !wa to the query and ddg will redirect it to Wolfram Alpha. I don’t use it very often but love how quickly it can answer most problems.
I find myself doing unit queries like 4 all the time. "80 bytes / second * 1 year" results in ~2.5 GB. Etc etc. It's very convenient for making sure that you're handling units correctly.
It's also really good for random facts. For example, "75 kWh at California electricity price". Or if you know something takes 20W to run continuously and you want to know how much it costs... "20 W * 1 year at california electricity price".
A few years ago it was the only tool I could find that could answer questions like "show me every college within 100 km of this point".
I haven't needed to do anything like that since. But it is yet another example of how I think Google maps and similar are weak junk only good for finding coffee shops.
Today I had to quickly compare trade import and export as percentage of GDP in two countries. I could basically write: (country) export and import as percentage of (country) GDP vs [repeated for country 2]. It worked in first go in WA, no issues, even produced a beautiful graph. That runs rings around Google.
Definitely, Wolfram Alpha can do way, way more than Google can. I just mean that the simple time zone conversion is one of the things Google can do; it's not a super ringing endorsement for Wolfram Alpha to be doing time zone conversions with it. Also not a ringing endorsement for DDG -- if he had used Google it would have just answered his query inline without having to use a special exclamation point query.
Taking google's answer for things they're calculating with math is probably safe, but if you get into the habit of reading google's answers to queries it will have you believing a lot of nonsense because many of the answers google offers are not calculated at all, but instead are regurgitated nonsense that google read on the internet and took at face value (example from Technology Connections: https://youtu.be/TbHBHhZOglw?t=58)
I assume the GP is referring to the instant answers it gives you in a white box separate from search results. In this instance it is calculated by google and not crawled from the web.
Those instant answers are the ones I'm talking about. Sometimes they're calculated, but often they're regurgitated from web crawls and the UI doesn't clearly differentiate the two.
I use it for computing integrals / solving ODEs when I don't have access to one of the CAS's I know how to use. It's nice to get a quick answer and not have to remember syntax, since I only have this problem about once every six months or so.
are you sure you are not referring to Mathematica or taking derivatives? ODEs and integrals are hard to solve for even simple cases, I cannot imagine wolfram alpha being able to solve anything even remotely complicated without throwing an error.
Siri uses it for answers to some questions (or used to). For example if you ask Siri what planes are overhead it used WolframAlpha to get that information.
I use it to do random calculations like how much something weighs/costs that is combining units in various fields and pulling data from static and dynamic sources for commodity materials, e.g. microns * inches * yards * density of iron * cost of iron
Designing periodic procedural textures for 3D graphics. The WA interface is more straightforward than the software I was using. I still like it for that purpose.
Yeah browsing around their web site and product pages I couldn't find anything. After I signed in to Wolfram Cloud for the first time, I got an email with a little bit of explanation of the Basic plan:
With this introductory Wolfram Cloud plan, you get:
* 200 MB of cloud storage
* 5,000 Cloud Credits per month
* Temporary cloud deployments, allowing you to publish Wolfram Notebooks in the cloud and deploy APIs for up to 60 days
No idea what a "cloud credit" gets me, and still have no idea what functionality is available compared to, say, a WolframeOne or Mathematica or Wolfram Notebook subscription (which if you upgrade from the basic Cloud account you need to pick one of those three upgrade paths, which then each have different tiers).
I think this is amazing. I'm using wolfram alpha a couple times a day but sometimes I need to use proper wolfram language instead of wolfram alpha query. Even if they allow a single notebook for the free tier, I would be more than happy.
(I still couldn't find more information about what basic/free tier includes.)
Data expiration: "With a Cloud Basic plan, any files will expire 60 days after their creation." I've lost a couple notebooks due to this. Kind of like ransomware, yeah?
Then I looked at their pricing[1] to maybe get those notebooks back. 3 different product lines, 4 different tiers per product, then 5 or so prices depending on student/home/professional/govt. No idea how to navigate all this.
I used to be a big Mathematica user about a decade ago, but with everyone in industry using Jupyter now and Wolfram's weird new product strategy, I don't think I'm going back.
If Python is a "batteries included" language, then Wolfram Language might be a "nuclear reactor included" language. Its functionality covers a broad range of domains, and keeps growing. The principle behind much of it is "maximum automation", so you have so-called "hyperfunctions" to, for example, build a classifier using machine learning. You just give it the example data, and it'll by default pick the method, etc. for you and perform the training. You can still go in and control the options if needed.
The language itself has its quirks, like any 30 year old language would, but you can do a lot with a little if you know what you're doing. It's similar to Lisp in that way.
The downside is that once you need to go beyond the "standard library" things are a lot more sparse, but they've been working to make it easier to get 3rd party functionality.
It's the kind of language that if it was free 15 years ago would probably be all over the place today.
The language is version control friendly, the notebooks are not. You explore and document using notebooks (.nb) and if your stuff get serious you should move the source code to a package (.wl or .m) which is just plain text file which is nice for version control.
Right, but I mean it's a notebook-based language/environment so they seem hard to uncouple. Just looking at the link I posted it seems a little complicated. Have you used Mathematica in a team situation?
the other cool thing about wolfram functions is that they really embrace the whole "content addressed function" idiom (like unison). code is data is a networked resource.
It really is amazing. I spent loads of time fiddling with Mathematica in college, thanks to the cheap(ish) student license. I solved problems 1 and 2 of the 'Substitute' xkcd ( https://xkcd.com/135/ ) using it, for example, including a little `Manipulate[]` bit that let you pick a starting run angle dynamically and plotted how far you'd get.
There's something really, really powerful about good interactive tools and learning math. I'm convinced my success in subjects like calculus and diff. eq. were driven by toying with programs like Mathematica.
Anyway, I still find myself reaching for it occasionally. I recently used Mathematica for some FFXIV raid group statistics. Once you get accustomed to it, it's incredible how productive you can be at solving specific problems. "Nuclear reactor included" is a great turn of phrase (from above).
This is fascinating, thank you. It seems like it might be worthwhile to learn Mathematica for use in coding interviews; many coding problems would be significantly simplified.
The claim "world's most productive programming language" might be accurate in that it has such a huge standard library -- sooooo many built-in functions.
Their platform is so sophisticated that it produces output in a non-deterministic format depending on your search terms. Therefore, if you want to consume their service by leveraging the full smartness and cleverness of their platform, your consuming application needs to be equally smart and clever if you want to do anything more useful than displaying their raw output in an iframe. This means that you'd have to re-implement non-trivial parts of their platform.
The only way to solve this problem would be to restrict your input to a fix format to make their output more predictable. But at that point you'd in practice rather use a more specialized (and much less expensive) solution. The only use case I can see for this is either very complex computations for which either no other vendor exists, or requiring so much resources to run that their platform is the most convenient option. Or alternatively the interactive use case to iterate on a solution as part of R&D, which I believe is the main way people use their products.
This is not a shocking limitation per se, but their marketing messaging has long been suggesting that they have a vision where developers will heavily use the power of their platform to build a wide range of real world applications both in the consumer and enterprise space. My point is that this will never happen because of the aforementioned paradox. They have built an incredibly smart solution, but it sorts of have a curse by design preventing it from moving out of the interactive niche.