Live data from Hacker News

Why Wolfram Mathematica did not use Lisp (2002)

ymeme.com

61–70 of 145 posts

Re: Why Wolfram Mathematica did not use Lisp (2002)

#61
post #47

Earlier quoted context omitted.

I'll bite. What does hair (or lack thereof) have to do with anything?

For some reason, that's actually a pretty funny troll. He should've added on to it though. "If he's so smart, he would've found the cure for baldness already".

Grass doesn't grow on a busy street...

Re: Why Wolfram Mathematica did not use Lisp (2002)

#62

This might be obvious to many, but the language of Mathematica has better support for ("abstract") currying than Lisp, something like A[B, C][X, Y][Z] does not straightforwardly translate into an S-Expression but is potentially convenient for symbolic algebra. I believe that I read this emphasis on currying in one of Wolfram's own accounts on how Mathematica came to be. It is probably also important that the internal…

It translates very directly. (((A B C) X Y) Z) We could clean up this syntax and write a macro. Let's call that M. Then one could write (M A (B C) (X Y) (Z)) The definition of M is quite simple. Secondly, Lisp only uses lists for the representation of most of its source code. Actual computational data structures of course need not be lists. Mathematical expressions need not be represented as lists in Lisp.

I'm not sure they are quite equivalent, the semantics of pattern matching tend to be different: in lisps lists are always a kind of binary tree so (list 1 2 3) is really (1 . (2 . (3 . nil))), this has a consequence for unification in that (list 1 2 3) will match (x y) as 1 and (list 2 3). In Mathematica on the other hand lists tend to be flatter if you will, and there is this concept of Sequence which I sometimes find problematic.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#63
post #14
post #13

"I wonder which will become self-aware first -- Wolfram Alpha, or Stephen Wolfram."

Attributed to Casey Muratori by http://chrishecker.com/Kurt_G%C3%B6del_is_Laughing_His_Ass_O... - “Does anyone want to bet as to which will gain self-awareness first: Wolfram Alpha or Wolfram, Stephen?”

The Donald Trump of the computer industry.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#64
post #9

Seems like a good example of technical people placing too much importance on a technical decision. It seems clear Lisp would have been a perfectly fine choice, as would a number of other languages. It also seems unlikely the world (or even Mathematica) would be dramatically different for it. I wish more "X is better than Y because of Z" discussions would admit aesthetics were an important factor. Instead we end up wi…

It appears that the discussion on arbitrary precision vs machine precision is obsolete as it does not seem to apply to Mathematica, maybe it used to be true for SMP, though I'm not sure.

I don't know why I've gotten downvoted for this, but if you reread the post you will see a bunch of references to things that just haven't been true of Mathematica since v1.0.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#65
post #21
post #15

Earlier quoted context omitted.

> Wolfram was young, smart, cocky He remains two of those things to this day. I have no doubt Wolfram is legitimately a genius (despite his arrogance and tendency to take credit for other people's inventions) and I adore Mathematica as it is, but I can't help but wonder how much better it would be if Wolfram's personality was less... abrasive.

I've never met him but have read some of his stuff over the years and talked to a few people who have (met him). He strikes me a clearly very smart, just not as smart as he thinks he is (not uncommon, but more rare at his level of talent I think). An aside: For what it's worth, I find the "genius" label problematic in general, not just for him. I think it's a concept that probably has useful application, but to His a…

I heard that when he was writing and editing ANKOS, he rejected a picture of a panther that was to be used to illustrate reaction-diffusion textures in nature, because he didn't like the expression on its face. ;)

Re: Why Wolfram Mathematica did not use Lisp (2002)

#66

I wonder if Wolfram's 100-times-slower reference point was based on a very particular comparison. Suppose you benchmarked a numerical algorithm that dealt with a lot of matrix-vector operations. And suppose you compared, on the one hand, a C or Fortran implementation that used arrays and native machine finite-precision numbers, against a Lisp implementation that used lists and the sort of "exact" arithmetic described…

The author mentioned that the Lisp in question and Fortran could operate at the same speed. My impression is that the big use of Fortran has always been numerical algorithms with a bunch of matrix-vector operations — is that not the case? Because if it was like against like it doesn't make any sense, but if Lisp were as fast at matrix operations I figure we still wouldn't be using LAPACK for that stuff.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#67
I think the author is misremembering Wolfram's claims. I recall attending the first open demo of SMP, where Wolfram (and I think co-author Chris Cole) were demoing it in a large Caltech lecture hall. Here's what I recall.

They had tried to use Macsyma for their physics work, and found experimentally that it was too slow on what they considered to be "medium" problems, and could not handle "large" problems at all. They were trying to do things that were pushing the limits, and pushing them hard, of what could be done on the hardware of the day [1].

They showed some benchmarks comparing SMP to Macsyma using the kind of problems that had arisen in their physics research. For "small" problems, SMP was a bit faster. Maybe 2 or 3 times or so faster.

For "medium" problems, it was 100 times faster.

And it could do "large" problems.

I don't think I ever heard Wolfram say anything about Lisp being 100 times slower than C in general. I only heard claims like that when he was talking specifically about building systems like SMP, and was comparing basing such systems on top of a general purpose high level language (Lisp) vs. basing them on something built and optimized specifically to support a system like SMP.

[1] The SMP work was done on CITHEP's (Caltech High Energy Physics) VAX 11/780. I was an undergrad at Caltech at the time, working part time at CITHEP as a system programmer and admin, so knew many people involved in SMP development and got to watch it as it progressed, and then was put into production by working physicists.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#69

Mathematica is an interesting case study for a general-purpose software package that happens to be more feature-full and functional -- not just "more convenient" or "better UX" -- than any open-source counterparts. I tend to use some proprietary scientific software, but a lot of it is because academia already has already invested in codebases for, say, Stata, GAMS, Matlab and so on. But Matlab is two steps removed fr…

> Mathematica is an interesting case study for a general-purpose software package that happens to be more feature-full and functional -- not just "more convenient" or "better UX" -- than any open-source counterparts.

Isn't the world littered with such examples? Office is more feature-full than OpenOffice, Photoshop is more feature-full than GIMP, Illustrator is more feature-full than Inkscape, InDesign is more feature-full than Scribus, Avid|Final Cut|Premiere is more feature-full than any open-source NLE.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#70
If he had used Lisp how would he have ported it to so many machines? I programmed in Common Lisp quite a bit in grad school and I liked it, but it was always on a specific platform. I would use Lisp even now, but I'll often use C/C++ just because I know I can get it to work most everywhere.
Post reply on HN