5 ms·
It's the old 'I wanna make something, gimme libs! vs 'I wanna make something completely new, gimme lisp' dichotomy. BTW the Wolfram language isn't 'a bit like
by rscho 5y ago
It's the old 'I wanna make something, gimme libs! vs 'I wanna make something completely new, gimme lisp' dichotomy.
BTW the Wolfram language isn't 'a bit like lisp'. It _is_ a lisp with an alternate syntax. This becomes extremely apparent in any kind of symbolic manipulation.
- bitwize 5y agoFunny, because the impetus for Mathematica was Stephen Wolfram's expert opinion that Lisp was too slow by a factor of 100 to implement a performant symbolic algebra system. Only a galaxybrain like Wolfram could devise such an elaborate implementation of Greenspun's Tenth.
- 7thaccount 5y agoLol. It might have been true in the 1980s when Mathematica 1.0 came out (on version 12.3 now). Now I think Mathematica is a combination of C, C++, Java, and of course Mathematica code. C and C/C++ libraries are used for the symbolic stuff and some libraries, Java is used for database connections and so forth, and I think they do eat their own dog food by implementing new functionality using existing Mathematica code. That's a little bit yucky, but no different than many ecosystems today. At least everything seems pretty seamless to me.
- bitwize 5y agoIt wasn't true. Maclisp was competitive with Fortran in the 1970s. Wolfram didn't know enough about Lisp -- or computing in general -- to make such a claim. Source: https://web.archive.org/web/20081121205217/http://ymeme.com/why-wolfram-%28mathematica%29-did-not-use-lisp.html https://web.archive.org/web/20081121205217/http://ymeme.com/...
- 7thaccount 5y agoThanks for linking (I remember reading this on here a few years ago, but couldn't remember enough to Google for it). It seems the author's claims of 2.5 to 5 seem to match a lot of the current benchmarks out there for GCC vs SBCL, so that seems to have remained consistent over time. I'm not sure if they'd be in better shape if they had stuck to an approach such as Macsyma or not. Perhaps a lot of effort could have been avoided, perhaps not.
- lispm 5y agoThe usual reasons to not develop or even reimplement custom languages (like the language for a computer algebra system) was/is performance and memory. Plus the limited availability of compilers for certain computer types. Even during the 80s memory was very expensive (workstations) and limited (PCs). Thus it could have made sense to implement a language such that it runs in smaller space to save a lot of money on the user side. Still, there were Lisp-based computer algebra systems on small (Derive, MuMath/MuSimp, ...) and large computers (REDUCE, Macsyma, Scratchpad)... Also depending on the availability of a certain Lisp system was problematic, when a C or later a C++ compiler was usually provided... -> but then one was responsible for the maintenance of the implemented.
- 7thaccount 5y agoThat was kinda what I would've guessed. Even if lisp was just fine doing symbolics, it would've been a bigger resource hog than something custom done well. I wasn't aware of the lisp CAS on smaller systems. I figured when Mathematica first came out, lisp was mainly running on things like symbolics lisp machines. Is that incorrect?
- lispm 5y agoWhen Mathematica came out (1988) there were already Lisps for PCs and Macs. Lisp at that time made the switch to Common Lisp. Symbolics Lisp Machines were used for higher-end AI, CAD, etc. domains. There was a bunch of very different options across many platforms (PCs, Macs, UNIX Workstations, ...). Macsyma itself ran on various platforms, incl. Lisp Machines, UNIX, VAX/VMS, and then also on Windows. Derive even ran on some TI calculators. It was written in muLISP.
- 7thaccount 5y agoYou need to write a book on this history lol.
- GeorgeTirebiter 5y agofor reference: https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule
- c-cube 5y agoIn what way is it a lisp? It's based on symbolic rewriting, not lambda calculus. These are entirely different things.
- mbrodersen 5y agoLisp is the lambda calculus + AST as syntax. The Wolfram language is a symbolic reduction engine without AST as syntax. In other words, nope they are not the same at all.