Mathematicaはバージョン6でDynamicというおもしろい機能が追加されました(動的言語とは関係ありません。もとから動的ですし)。いろんな解釈があると思いますが、Dynamicで何ができるかというと、Excelのようなプログラミングです。ここで考えているExcelの機能とは、複数のセルが関連しているところで、あるセルの値が変更されると、関連するセルの値が自動的に再計算される、というものです。
Dynamicによって、Mathematicaのプログラミングスタイルは大きく変わると思うのですが、残念ながら、今のところは「GUIを簡単に作れる」という応用が主になっています。
たとえばこんな感じです。
center[p_, q_, r_] := With[{np = Normalize@p, nq = Normalize@q}, r Normalize[np + nq]/Sin[ArcCos[np.nq]/2]] Manipulate[ Graphics[{ Line@{o, p}, Line@{o, q}, Circle[o + center[p - o, q - o, r], r] }, PlotRange -> 2], {{o, {-1, 0}}, Locator}, {{p, {0, 1}}, Locator}, {{q, {0, -1}}, Locator}, {{r, 1}, 0, 2}, SaveDefinitions -> True]
Wolfram CDF Playerがインストールされていれば実際に動かすことができます。
「こういうことがCAD上でできたらおもしろい」と思ったのですが、AutoCADなんかですでに実現されていますね。
だから、Mathematicaを使う人たちは、もっと別の応用を考えなければいけないのです。