8 ms·
Can anyone explain the difference between the Wolfram Language and Matlab/Julia? I understand it has a better story for symbolic mathematics, but how often do p
by pron 7y ago
Can anyone explain the difference between the Wolfram Language and Matlab/Julia? I understand it has a better story for symbolic mathematics, but how often do people need that? Personally, I've found numeric computation more useful in 99% of the cases; do others have a different experience?
- enriquto 7y agoThere's much more to math than numeric computation. Many applied mathematicians spend their lives programming and never use a floating point number.
- pron 7y agoI know, but that's not what I asked. The question about numeric vs. symbolic was how common it is for software applications to require symbolic mathematics vs. numerical math.
- enriquto 7y agoI'd guess if you count combinatorics as symbolic math, then most of software applications are essentially based on symbolic math.
- badpun 7y agoFor anything with an research element, symbolic is huge. On the other hand, if you're just implementing already well-researched algorithms and methods, it's much less needed.
- ras_west 7y agoWolfram supports numeric computation too (optimization, PDE solvers, data science etc
- superfx 7y agoThis may give some sense of what it can do: https://reference.wolfram.com/language/ https://reference.wolfram.com/language/
- pron 7y agoFrom what I can tell, the main difference between Wolfram and Matlab/Julia (other than syntax) is a database of various facts. Is that a fair assessment? Is there a way to access the database without the language?
- lispm 7y agoIt's based on rewriting symbolic terms (similar to Lisp's s-expressions) using rules. It then originally has a large library of facts and rules for a large amount of mathematical domains. This has been expanded over time into lots of knowledge about the world (physics, biology, astronomy, ...). Programming is often done with multimedia-rich notebooks. https://reference.wolfram.com/language/ref/entity/Planet.html https://reference.wolfram.com/language/ref/entity/Planet.htm... So it's some kind of knowledge-based system for mathematical related domains,
- pron 7y agoThanks.
- georgewfraser 7y agoWolfram language has a very different syntax that Matlab or really any other programming language, and it has a lot of lisp-like metaprogramming capability. It's not as well thought-out as a proper lisp like Clojure, it's verbose and there's a lot of weird corner cases. The editor is very different as well: Mathematica pioneered the notebook concept that was copied by Jupyter, and the Mathematica user experience is still much more comprehensive and tightly integrated than anything else. For linear algebra, they both use Intel MKL under the hood and get exactly the same performance.
- armitron 7y agoNot only would I not call Clojure a "proper lisp" but since it doesn't run any Lisp code and lacks fundamental Lisp data structures (e.g conses), I wouldn't even call it a Lisp.
- EForEndeavour 7y agoWhat do you mean by "it doesn't run any Lisp code"? For what it's worth, both Wikipedia and the official Clojure website call Clojure a dialect of Lisp (https://en.wikipedia.org/wiki/Lisp_(programming_language) https://en.wikipedia.org/wiki/Lisp_(programming_language), https://clojure.org/ https://clojure.org/)
- armitron 7y agoTake Lisp code written in the last 50 years and odds are that Common Lisp, Emacs Lisp or Scheme can run it with zero/minimal/moderate modifications. Clojure needs a total and complete rewrite which doesn't only affect the syntax but program logic. Thus Clojure does not run Lisp code. How can it be a Lisp when it does not run Lisp code?
- veddox 7y agoThis argument only works if you think of "Lisp" as a single, linearly developing language. It hasn't been that for decades. (That's why they created "Common" Lisp, after all.) Lisp is a family of languages - within which Scheme and CL are just as syntactically incompatible as CL and Clojure.
- szhorvat 7y agoNow you can give it a try easily. Why don't you? Maybe you will discover a new world ;-) Don't think of Mathematica as a computer algebra system. It is much more than that, fully capable of numerical computation, and just the unique term rewriting programming language makes it worth checking out.
- Myrmornis 7y ago> Personally, I've found numeric computation more useful in 99% of the cases; do others have a different experience? Yes, of course they do. For example, if they want to obtain a general, symbolic, solution to a problem, rather than estimates of particular numerical values. I'm sorry to sound a bit dismissive, but on HN it is common to hear people say stuff like "Oh, I find code much more helpful than math" and it's a bit embarrassing. Just to give one example out of the entire universe of human mathematical activity, suppose you're doing statistical inference. You've developed a likelihood model for the data-generating process, and now it's time to implement the actual inference, say in a Bayesian MCMC, or a rejection sampler, or importance sampler, or whatever. Those are numerical algorithms of course; but they need to repeatedly evaluate the likelihood function at millions of different points in parameter space. Now, your likelihood function, was developed to model the real world. And perhaps the resulting equations are a little complicated. You may be able to achieve a vast speed-up of your numerical algorithm if you use a symbolic algebra system to find/confirm a symbolic simplification of your likelihood function.
- censorededitor 7y agoA dumbfounded example . All you need for this is a cas system or some gruelling head computation that can solve This step or formula nothing more and not wolfram specifically .
- censorededitor 7y agoThe following comment was flagged by that editor which deleted previous criticism : “Hideous at best. Comments that were insightfully sharp about wolf team have been deleted. How much collusion is going on between certain editors on hackernews and wolf team ?”
- Myrmornis 7y agoMathematica is a CAS system. The comment I was replying to was asking whether people saw any use for CAS (symbolic) over numerical computing. Aside: You're commenting in a style that fits YouTube, or maybe Reddit, but this site has a different commenting culture/style.