
Why Wolfram Mathematica did not use Lisp (2002) - gearhart
http://www.ymeme.com/why-wolfram-(mathematica)-did-not-use-lisp.html
======
tzs
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.

~~~
akssri
What exactly were these 'problems' ?

~~~
orbifold
In high energy physics people compute scattering amplitudes, the goal is to
estimate how many events of a particular kind a detector in a collider
experiment will see at various energies. The predominant tool for doing that
is to calculate contributions from so called Feynman diagrams, each diagram is
a graphical representation of some fairly complicated integral, the integrant
is some rational function of the particle momenta. The nominator has to be
simplified by manipulating spinor identities and in the case of for example
QCD one has to work out color factors. Just a few years before people were
computing 1000s of those diagrams by hand for Quantum electro dynamics, often
while cross checking each others results. For non-abelian Yang-Mills Theory
(t'Hooft Veltman had published their landmark paper in 1972) this is more or
less infeasible beyond first order.

The number of diagrams that have to be evaluated quickly explodes beyond the
first order and in the case of QCD already at two loops would require
herculean efforts to do by hand. In fact Schoonschip was one of the first
computer algebra systems and developed for just this reason.

Beyond that areas like Supersymmetry and certain parts of General Relativity
would be very painful to work in, if everything had to be done by hand.

------
thanatropism
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 from raw Fortran; and what
sets it apart from the many identical-syntax clones are a few narrowly-
oriented toolsets aimed at some kinds of engineers.

Mathematica is the only one I buy versions for my home computer. It's very,
very good.

~~~
cwyers
> 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.

~~~
thanatropism
OpenOffice is "good enough"; where Word isn't an option, it does the job. GIMP
isn't even trying; it's not in the same market as Photoshop _or_ casual image
editing, which is well served by web apps these days. (One wonders what it is
for; padding developer CVs, possibly) Finally, nonlinear video editing hardly
qualifies for "general purpose" \-- and is there anything worth mentioning as
for open source offerings?

Mathematica, on the other hand, is squarely in the terrain usually covered by
open source.

~~~
chipotle_coyote
_OpenOffice is "good enough"..._

This is a matter of debate, depending on what circles you're traveling in. If
you're working in a "mixed environment" where some people are using OpenOffice
and some people are using Microsoft Word, you're likely to run into problems
that range from minor annoyance to show-stoppers very quickly. Some of this
can be blamed on Microsoft's weird file formats, but this is true not only for
.doc files but for the better-documented (if arcane) .docx and, in my
experience, even with RTF. I'm in contact with a fair number of small-to-
medium press fiction editors, and while a fiction manuscript is one of the
simplest use cases you can imagine in terms of formatting, almost every editor
I've talked with has complained about OpenOffice (and to a lesser degree
LibreOffice) screwing up comments and revision tracking. I don't really want
to use Microsoft Word, but so far I haven't found an open source equivalent
for my needs that _is_ good enough. (The closed source Nisus Writer Pro and
even Apple Pages seem to do better, ironically. But that's not to say they
don't have their own problems.)

I tend to think of open source's most well-established terrain as languages
and server-side components where UI is not really a major issue.

~~~
simonster
Microsoft doesn't have the greatest support for OpenOffice/LibreOffice odt
either, although they try ([https://support.office.com/en-
us/article/Differences-between...](https://support.office.com/en-
us/article/Differences-between-the-OpenDocument-Text-odt-format-and-the-Word-
docx-format-d9d51a92-56d1-4794-8b68-5efb57aebfdc)).

The fact that 90% of the world is using Microsoft's format is certainly
relevant for everyday use, but it's orthogonal to the question of whether an
open source project can achieve feature parity with a closed source product.

File format compatibility is always hard and I'm not convinced MS does a
better job reading odt than LibreOffice does with OOXML. But LibreOffice does
have a reasonably comparable feature set, even if the UI is not as attractive.

~~~
cwyers
> LibreOffice does have a reasonably comparable feature set

Pile up all the features Office has but LibreOffice doesn't on one side, pile
up all the features that LibreOffice has but Office doesn't on the other. What
pile's larger?

It's kind of a pointless argument over whether or not LibreOffice has ENOUGH
features; enough features for who? It's a global question with local answers.
It's pretty easy to count who has MORE features, though, and Microsoft Office
wins there.

~~~
simonster
GP was suggesting Word's superiority comes from its ability to read its own
file format, which certainly makes it superior in practice, but has little
bearing on OSS vs. closed source.

But, FWIW, most of the new "features" Microsoft adds to Word seem to be UI
improvements (e.g. [https://support.office.com/en-us/article/What-s-new-in-
Word-...](https://support.office.com/en-us/article/What-s-new-in-
Word-2013-3a9a927f-73ad-4ac5-910b-dfb12052d063?ui=en-US&rs=en-US&ad=US)). And
if you want to claim that Office is more usable than LibreOffice, and that
this is generally true of closed source vs. open source projects, you won't
get any arguments from me.

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

~~~
tfgg
I once went to a talk by Wolfram to an audience of academics which he finished
by saying that if he managed to find the theory of everything (which he seemed
to think was a possibility), he probably wouldn't bother telling people, since
theoretical physicists wouldn't understand it.

~~~
thanatropism
But isn't this the ultimate point of "science studies" (broadly put) since the
days of Kuhn, Lakatos, Latour and so on?

I mean, Wolfram's bizarre confirmation bias about discrete automata is
(apparently) apparent to the computer-y people because we've seen discrete
automata and have goofed with all sorts of complexity-generating simple
formalisms (L-systems, genetic algorithms, ...) that are impressive for
giggles (and some industrial applications) but don't amount to a kind of
Kurzweilian Transcendence.

... but we're not all mathy enough to pick apart what string/brane theorists
or even orthodox quantum gravitationists are doing and say with (possibly
misguided) confidence that it's no hope for a theory of everything. The people
who do are continental philosophers who tend to get laughed out of the room,
often because they have silly overarching theories (Zizek has a couple of
points about quantum physics, but then, he thinks psychoanalysis explains
human history) that must be relentlessly mocked.

~~~
sedachv
> The people who do are continental philosophers who tend to get laughed out
> of the room

And for good reason. For example, philosophers (Zizek included) raved about
Badiou's _Number and Numbers_. It is a nice history of the approaches to
formalizing the concept of number, but there is no philosophy there. As soon
as Badiou or Derrida or any other continental philosophers try to do anything
else with mathematics it just becomes a grossly inappropriate and confusing
analogy.

------
adwf
Wolfram has always seemed to me to have the biggest case of "Not Invented
Here" syndrome I've ever heard of. I mean, not only did he have to make his
new language, new search engine, etc. He even tried to make a new kind of
science...

If that's not extreme NIH, I don't know what is.

~~~
coldtea
> _If that 's not extreme NIH, I don't know what is._

Worked well for him though...

~~~
adwf
Absolutely; I'm not knocking his achievements. It's a rare intelligence who
can work through NIH and succeed so well.

------
dmlorenzetti
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 in the usenet post.

This would not, of course, be a good comparison between the languages, but it
might well give you a 100x speed difference. Taking Pitman's story at face
value, it sounds like Wolfram wasn't very sophisticated about these things,
and wasn't open to listening to explications. So he might have extrapolated a
single dumb benchmark into a universal truth.

At the same time, it sounds like Pitman tried to convince Wolfram to represent
floats as the ratio of two bignums, "with lots of other hidden bits to assure
that any decimalization had enough bits to be precise." I can understand
Wolfram not particularly wanting to taste any of that pie. I have worked with
a simulation platform that uses paired BigNums _just_ for time values (other
values in the simulation use regular double-precision variables), and it was a
big drain on simulation speed.

~~~
AnimalMuppet
I could also see a matrix representation as lists of lists, and when you do
anything you're always consing, and replacing elements of lists, and walking
lists to get to elements. Compare that to a C-style 2D array of float or
double, and Lisp looks horrible - plausibly 100x as bad, and worse as the size
of the matrix increases.

Of course, the problem with that is the Lisp data representation used, not
Lisp itself.

~~~
hga
Except Lisps that are intended for numerical work, like MACLISP on PDP-10s at
the time, did have arrays. And as noted, MACLISP was around then faster than
DEC's FORTRAN (an issue DEC fixed not too much later).

Lispers aren't stupid, which should be distinguished from how easy it is make
a simple Lisp. Making a performant one takes effort on the scale of making any
similar language implication good and fast.

~~~
AnimalMuppet
I never said that Lisp didn't have arrays. I said that representing a matrix
as a list of lists would not perform well.

What I _meant_ to be saying is that Wolfram plausibly may have looked at a bad
data representation for matrices on Lisp, and concluded that Lisp was
inherently 100x as slow.

------
davesque
Well, it's not entirely surprising to hear an anecdote about a young (19 year
old), brilliant programmer arrogantly dismissing legitimate possibilities.

~~~
david927
He's still arrogantly dismissing them.

~~~
davesque
Fair enough.

------
jgrahamc
Random Wolfram story, was at lunch yesterday at my old college and respected
computer scientist who originally interviewed me. He told me that he first
showed Wolfram a computer.

This guy was a friend of Wolfram's mother who asked for help because 8 year
old Stephen was "bored with dinosaurs" and wanted something else to think
about.

~~~
AceJohnny2
How did the respected computer scientist feel about having unleashed Stephen
Wolfram upon the computing world? :)

~~~
DonHopkins
Well at least he diverted him away from dinosaurs, otherwise Jurassic Park
might have been a documentary!

------
pvg
Wolfram himself has a far more detailed write-up on the development of SMP and
Mathematica.

[http://blog.stephenwolfram.com/2013/06/there-was-a-time-
befo...](http://blog.stephenwolfram.com/2013/06/there-was-a-time-before-
mathematica/)

It might be biased or self-serving but it's more interesting than an offhand
USENET recollection about a brilliant and arrogant young man.

~~~
AceJohnny2
People's experience with Stephen Wolfram is that he is _very_ biased and self-
serving, hence the popularity of an anecdote from an external source.

------
anthony_d
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 with convoluted
justifications that just annoy everyone (Lisp is slow, C is fast, C++ is
complicated)

~~~
brudgers
Wolfram's decision at worst did not impede the development of a tremendously
successful software product. At best it enabled it. _Mathematica_ is 27 years
old. It predates the i486 which was the first mass market CPU with an FPU. In
the early 1980's betting on Lisp was betting on Lisp machines and workstation
class hardware. The first version of Mathematica ran on M68000 Macintosh
machines. It's hard to imagine overcoming the pain that something slower than
C would have inflicted on users.

~~~
sedachv
> The first version of Mathematica ran on M68000 Macintosh machines. It's hard
> to imagine overcoming the pain that something slower than C would have
> inflicted on users.

According to this
([https://en.wikipedia.org/wiki/Macsyma#Commercialization](https://en.wikipedia.org/wiki/Macsyma#Commercialization))
Wikipedia article, Macsyma (a Lisp-based CAS that Mathematica was designed to
compete with) was running on 68000 Sun-1s in the mid-80s and a Windows port
came out about a year after Mathematica came out for the Macintosh (1989 and
1988, respectively). The pain must have been real because Mathematica ended up
with all of Macsyma's market: "Macsyma's market share in symbolic math
software had fallen from 70% in 1987 to 1% in 1992"

~~~
hga
For this domain which is largely compute bound when it counts, for the PC
systems it was targeting back in those days, C was almost certainly the right
choice if you had enough resources for the extra programming work required.

Commercial Macsyma is ... a special, and rather sad case. As explained to me
by Danny Hillis in 1982-3 when he wished my company, LMI, could provide Lisp
Machines for Thinking Machines, Inc. to help develop the Connection Machine 1,
one motivation was Symbolics' pathological business practices, and the
nastiest example then was Macsyma. Back then the MIT Technology Licensing
office was still _horrible_ , and it was arranged that Arthur D. Little, I
think, recommend how Macsyma be licensed, and it ended up being exclusively to
Symbolics, which was not a common approach.

As far as we could tell, Symbolics bought it primarily to keep it out of the
hands of LMI and anyone wanting to run it on conventional hardware, and went
so far as to try to get people who have Vaxsyma copies to send them back and
stop using it, which was not well received as you might imagine. That helped
Fateman, using the DoE which had sponsored much of the work, to force MIT to
release a snapshot as open source, which eventually became Maxmia.

In house, Symbolics treated it with benign neglect, and I don't think it was
massively improved. This situation became ironic as their hardware business
declined and the Macsyma unit became an important cash cow, but as these
things go, for the usual internal political reasons, it never got development
resources commensurate with its actual status and potential.

MIT also didn't reward the people who'd originally written it at MIT,
something Joel Moses, who I happened to be directly reporting to in the 1987-8
time frame when he was the EECS department head, was obviously not happy with,
along with I'm sure many others. So in short, Symbolics did nearly everything
they could to mess up the Macsyma community and product, and the noted
decline, once there were good alternatives, was inevitable.

RMS is not 100% wrong in his loathing of Symbolics....

~~~
lispm
> In house, Symbolics treated it with benign neglect, and I don't think it was
> massively improved.

There is a lot of butthurt from various people, who seem to know better how to
run a company in hindsight. Symbolics sold Macsyma on various platforms:
Lispm, Windows, DEV Vax, Sun Unix.

> it never got development resources commensurate with its actual status and
> potential.

Symbolics was still selling Macsyma at a time when competitors like LMI or TI
were no longer in the Lisp business.

~~~
hga
_There is a lot of butthurt from various people, who seem to know better how
to run a company in hindsight. Symbolics sold Macsyma on various platforms:
Lispm, Windows, DEV Vax, Sun Unix._

The exclusive licencing to Symbolics resulted in a delay in porting it to non-
Lispm platforms, due in part to the cited internal opposition. And not too
much later Symbolics effectively exited the market; they too have a lot to say
about how not to run a company.

 _Symbolics was still selling Macsyma at a time when competitors like LMI or
TI were no longer in the Lisp business._

Yet for some explicable reason people stopped buying it and its market-share
crashed to 70% to 1% in 5 years.

------
chrisbennet
_" During the dinner discussion leading up to this definition the foreword to
one of the Mathematica books was mentioned, where Stephen Wolfram (in third
person) wrote "Stephen Wolfram is the creator of Mathematica and is widely
regarded as the most important innovator in scientific and technical computing
today." In honour of this self-assessment I suggest we call the unit of ego
the Wolfram."_ \- "Monumental egos" blog post by Anders Sandberg

[http://www.aleph.se/andart/archives/2009/04/monumental_egos....](http://www.aleph.se/andart/archives/2009/04/monumental_egos.html)

~~~
munificent
What's the conversion factor between Wolfram's and nanodijkstras[1]?

This would be a great question to answer using Wolfram Alpha, since it does
have nanodijkstras[2] and Wolfram[3]. Alas, the conversion is beyond it[4].

[1]:
[https://www.youtube.com/watch?v=Xoyw8LHGtzk](https://www.youtube.com/watch?v=Xoyw8LHGtzk)

[2]:
[http://www.wolframalpha.com/input/?i=nanodijkstra](http://www.wolframalpha.com/input/?i=nanodijkstra)

[3]:
[http://www.wolframalpha.com/input/?i=wolfram](http://www.wolframalpha.com/input/?i=wolfram)

[4]:
[http://www.wolframalpha.com/input/?i=wolfram+to+nanodijkstra](http://www.wolframalpha.com/input/?i=wolfram+to+nanodijkstra)

------
orbifold
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 data structure used by Mathematica
is not a list, I think the support for "level specs" points at how internally
the data is most likely represented, although I'm not sure.

~~~
reikonomusha
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.

~~~
carlob
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.

~~~
codeflo
I don't think that's true: (x y) is (x . (y . nil)) and shouldn't match (1 .
(2 . (3 . nil))), because nil would have to match (3 . nil).

------
TazeTSchnitzel
Isn't Mathematica very Lispy? It looks like R-expressions.

~~~
carlob
Well M-expressions to be more precise. Actually if you ask some they'll tell
you that Mathematica is the only Lisp that implemented them.

~~~
ben11kehoe
And with good cause, I think. Mathematica syntax (both the verbose form and
with the various syntactical sugar) is immensely more readable to the average
person than Lisp. Of course, this could have been done on top of Lisp anyways
(and wouldn't that be nice?)

~~~
lispm
Surprise, Macsyma, which is written in Lisp has that syntax. Macsyma is the
earlier computer algebra system, which Kent Pitman mentioned in that post. He
also mentions that Wolfram knew Macsyma.

Example:

    
    
        applysymmetry(exp,opdum,symtype):=block(
          [getdum:get(opdum,symtype),piece,inflag:true,partswitch:true],
          if getdum=false then return(exp),
          subst(lambda([[arglist]],
                       apply('aplsym1,append(getdum,[arglist,opdum]))),
                opdum,exp))$
    
    

If you know Lisp, you will recognize typical constructs like IF, RETURN,
SUBST, LAMBDA, APPLY, APPEND, ...

~~~
ben11kehoe
This still seems more limited than the Mathematica syntax, which includes
postfix operators, for example. I also appreciate that parentheses are used
only for grouping, not for function calling and such. I'm not saying this
couldn't have been done with Macsyma or on top of Lisp more generally (indeed,
that would be nice), or that Mathematica wasn't influenced by Macsyma; I'm
saying that purely for syntax, I think Mathematica ended up with a better,
more extensive, and easier-to-use system than pretty much any other language.

~~~
lispm
Macsyma also has postfix operators.

------
gclaramunt
I think is obvious that Wolfram won't use anything that he can't take full
credit...

------
jmount
Another possible reason would be: Macsyma was already in LISP.

~~~
agumonkey
Market differentiation is a powerful reason.

------
DonHopkins
Maybe KMP should have recycled Jerry Pournelle's account for a certain bright
19-year-old, instead... ;)

[http://www.stormtiger.org/bob/humor/pournell/story.html](http://www.stormtiger.org/bob/humor/pournell/story.html)

"Personally, I'd just turn off his account. It's not like it's the first time,
and he not only flaunts his use of our machines but stabs us in the back with
grumblings about why he doesn't like this or that program of ours when he gets
a chance. (Am thinking particularly of an article he wrote which condemned
Lisp for reasons amounting to little more than his ignorance, but which cited
Teach-Lisp in a not-friendly light... The man has learned nothing from his
presence on MC and sets a bad example of what people might potentially
accomplish there. I'd rather recycle his account for some bright 12-yr-
old...)" -KMP

~~~
hga
He'd already used Macsyma on MIT-MC, had written his own SMP, left Caltech due
to IP issues WRT SMP, and was in 1985 working on cellular automata at the IAS
while no doubt arranging for SMP Mark II, AKA Mathematica which he started the
next year....

Interestingly, Pournelle was the kind of guy who could exercise Macsyma, or at
least his first computer program solved a system of 60 or so linear equations
on a IBM 650, an "affordable" machine back in the '50s that used a magnetic
drum for its main memory.

~~~
DonHopkins
Yeah, with turists like Jerry Pournelle, who needs Stephen Wolfram?

"Mr. Pournelle bids me tell you that if you intended to annoy him, you have
succeeded, and that his next column in BYTE will have a lot to say about the
ARPANET...."

"One thing that is known about ARPA: you can be heaved off it for supporting
the policies of the Department of Defense. Of course that was intended to
anger me. If you have an ARPA account, please tell CSTACY that he was
successful; now let us see if my Pentagon friends can upset him. Or perhaps
some reporter friends. Or both., Or even the House Armed Services Committee."

~~~
hga
Chris was really, _really_ stupid to purge JERRYP for badthink; if Jerry had
been intent on revenge vs. reform, he could have done a lot of damage to
certain parties, although not of course the Internet itself, which that year
was starting to be substantially extended by the NSFNet.

~~~
DonHopkins
Threatening to sick the House Armed Services Committee on the MIT AI Lab is
"badact".

And by the way, it was POURNE, not JERRYP:

    
    
        MIT Maximum Confusion PDP-10
    
        MC ITS.1488. PWORD.2632.
        TTY 57
        16. Lusers, Fair Share = 86%
    
        *:login pourne
        That account has been temporarily turned off.
        Reason:
        Think of it as evolution in action.
        Any questions may be directed to USER-ACCOUNTS
        *
    

And you have to admit, he did asked to be dumped off the net, so he got what
he asked for (although he failed to deliver what he promised in return:
seppuku):

"thank you. if left to you I suppose I cewrtainly will find my accounts
terminated. Your nice private message appreciated. seppuku follows.. maybe you
ought to have me dumped off the net and be done with it? or must you work
through someone else? J. E. Pournelle"

------
waynecochran
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.

~~~
_ph_
SBCL runs pretty much everywhere: [http://sbcl.org/platform-
table.html](http://sbcl.org/platform-table.html)

~~~
rjsw
It didn't when Mathematica was being developed. CMUCL on i386 wasn't released
until 1996.

Kyoto Common Lisp was available in the late 80s and was fairly portable since
it compiles to C.

------
micro_cam
Wolfram has said fellow student Rob Pike (who went on to co create go etc)
convinced him to use C though i've never seen the reasons enumerated. So while
he certainly comes off as arrogant and certainly reinvented a lot of stuff it
isn't like he didn't listen to anyone...

------
chaostheory
say what you will about Wolfram, but he took a risk, got things done, and
shipped something people wanted

------
jwmerrill
What language features distinguish Mathematica from lisp? Are we just talking
about the m-expression syntax, or are there more fundamental differences?

~~~
nswanberg
Here's what Wolfram wrote about Mathematica vs lisp in the first Mathematica
book:
[http://reference.wolfram.com/legacy/v1/contents/4.2.7.pdf](http://reference.wolfram.com/legacy/v1/contents/4.2.7.pdf)

I don't know enough about lisp implementations to know if these differences
still hold, but they still hold for Clojure and ClojureScript, for example.
Though some people have done some experimentation like
[https://github.com/kovasb/combinator](https://github.com/kovasb/combinator)

In the email under discussion though Wolfram was beginning work on SMP, which
preceded Mathematica by about 6 years and influenced the design of Mathematica
both in what to do and what not to do:
[http://blog.stephenwolfram.com/2013/06/there-was-a-time-
befo...](http://blog.stephenwolfram.com/2013/06/there-was-a-time-before-
mathematica/)

~~~
hga
Thing is, you wouldn't develop a system like Mathematica without writing those
sorts of things on top of your Lisp implementation. As MACSYMA, the first of
these programs did, which he used prior to starting on SMP, even using a
similar syntax per this comment
[https://news.ycombinator.com/item?id=9798643](https://news.ycombinator.com/item?id=9798643)

------
jakejake
This quote struck me "I'm pretty sure his response was that what tools others
chose to use or not use was not his concern"

On the one hand I feel a conflict of wanting to use every new, shiny tool. But
a dose of this attitude would help me get a lot more work done.

------
mikerichards
The only reason I still subscribe to c.l.l is for awesome stories like this

------
laichzeit0
Wolfram is extremely cocky for a bald man.

~~~
castis
I'll bite.

What does hair (or lack thereof) have to do with anything?

~~~
mikerichards
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".

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

------
danbmil99
TL; DR: Stephen Wolfram has high self-regard

------
arca_vorago
I always just assumed it was mostly because of the desire to have a
proprietary system he could generate revenue out of, instead of wading into
GPL-esque territory that tends to go along with LISP.

It's also one of the main reasons I have been using Octave and
Python/Anaconda.

~~~
pjmlp
Most proper Lisps are all proprietary, what GPL scheme?

None of the GPL Lisps compare to what is offered by the likes of Allegro
Common Lisp and similar environments.

~~~
krick
> None of the GPL Lisps compare to what is offered by the likes of Allegro
> Common Lisp and similar environments.

Care to elaborate?

~~~
pjmlp
Allegro Common Lisp, Franz Lisp provide IDE tooling reminiscent of the Lisp
Machines. With visual debuggers, graphical REPL, hypertext documentation
triggered from the REPL, libraries to integrate with the OS....

Additionally their optimising compilers are quite good.

