Slashdot Mirror


The Universe in 4 Lines of Code?

serendigital writes "Stephen Wolfram, founder of Wolfram Research and creator of Mathematica has, after 10 years+ finished his book, "A New Kind of Science." In a "Wired" article entitled: The Man Who Cracked The Code to Everything ...," Steven Levy talks about how and why the book was written and more importantly, what it is about. The best part of the article is in this exchange: 'I've got to ask you,' I say. 'How long do you envision this rule of the universe to be?' ... 'I don't know. In Mathematica, for example, perhaps three, four lines of code.'" This book seems a little... nutty. But it's been submitted a bunch of times. If anyone wants to review it, go right ahead.

1 of 467 comments (clear)

  1. Mathematica by gbnewby · · Score: 5, Interesting
    There are probably far fewer slashdotters familiar with Mathematica than PERL, so I wanted to write a few lines about Mathematica. From what he's said, Wolfram wrote Mathematica a lot like Larry Wall wrote PERL: to solve lots of problems by hiding complexity behind the scenes.

    As PERL is the swiss army chainsaw of computer programming, Mathematica is the swiss army chainsaw of mathematics. The syntax isn't as forgiving as PERL, but it's not bad. Here's a snippit I use for singular value decomposition:

    • svout = SingularValues[N[mydata],Tolerance->0];

    • {u, md, v} = svout;
      Print["u is ", u//MatrixForm];

    I've done the same thing with LAPACK and CLAPACK (scientific programming libraries) and in 3 lines of FORTRAN, C or C++ you haven't even started to define your data. In Mathematica, you're already done.

    Then there's visualization. Running on a PC or via XWindows, Mathematica can do stunning graphics -- including interactive graphics -- with almost no coding. It's not entirely flexible (sort of like using SAS or SPSS' graphics routines), but again you can do astoundingly great things with almost no code.

    In short, Mathematica is very close, for mathematics, to what PERL is for programming (or insert your favorite programming language or toolkit - but I think PERL fits best). While in the olden days of CGI everyone would have their own copy of cgi-lib.pl, now PERL has this functionality built in -- we just do stuff like do stuff like "my $query = new CGI;". In Mathematica, the language has evolved similarly so that stuff you needed to write lots of code for previously is now abstracted to a few functions. Like PERL's ability to use modules, you can write your own add-ons for Mathematica. Like PERL's POD, Mathematica can be used for documentation (and *was* used to write the Mathematica Book, and presumably Wolfram's new book).

    Just a few words about Mathematica. Give it a try, if you're remotely interested in how this stuff works. You'll probably like it!