022.m1
Mathematica Note
This website is created using a fairly large Mathematica program which takes a set of Mathematica Notebook files containing all the text you see, then splits and combines them into a much larger number of static HTML pages. The website as deployed on the server consists almost entirely of static HTML files, image, and movie files.
There is an entirely different way to use Mathematica to generate a website: Interactively using our server-side technology called webMathematica. My Reaction Balancing Calculator and Spell with Elements Game are examples of webMathematica applications that call Mathematica on our web server to do computations in response to user input.
This is a very powerful technology that is being used by a wide range of people to deliver complex, computationally-intensive web sites to their users. As a general rule, as in the case of my two chemical examples, the end user need not have any idea they are using Mathematica through their web browser: They don't, for example, need to know any Mathematica syntax.
For the ultimate example of this, check out my interactive dog pedigree browser. This is a large database-driven web application implemented entirely in Mathematica. Shh, don't tell the dogs, it might scare them.
When does it make sense to use webMathematica instead of the more traditional perl, Java, or other lower-level scripting language? Certainly any time you need to do mathematical analysis in the presentation of data, say if you are presenting a statistical analysis of data taken from a database, Mathematica can be an extremely effective tool. Mathematica also has a very wide range of import/export and database connectivity features, which make it a good central transcoding solution.
Mathematica is also a much higher-level language than the others, which means complex problems can often be solved in far fewer lines of code. For example, balancing chemical reactions is actually not as simple as it might seem at first glance. But in Mathematica, I was able to do the hard part using two built-in functions, GCG (which finds the greatest common divisor of a list of numbers) and SolveAlways, which finds solutions for constants that make a given polynomial equation true regardless of the values of the variables. This command is not generally speaking available in C or Java.
022 Titanium