An Open Letter to Mathematica

About 23 Years ago I met you first. At a time when all other systems, that I called computer mathematics software, populated the computers of our team at the Research Institute for Symbolic Computation. You remember the time when the community needed to understand what symbolic computation really is - not just Computer Algebra? You and Axiom, Macsyma, Maple, Derive, Reduce, .... entered into the market with different approaches, architectures and implementation languages, but the same objective: doing mathematics on computers and influencing programming by mathematical concepts.

One of the outcomes of computational mathematics thinking is the distinction between the language of mathematics and its operational semantics. This is what we have learned and improved from project to project.

At the beginning, you did not look like a platform, but I saw, you were one already. And this was maybe the major reason that you after a few explorative projects, testing all market-relevant systems, "monopolized" my business. My usp works on products and services which have innovation and Mathematica in common. And we are hybrid Mathematica programmers - your link technologies empowers us to optimize in C++, Java, SQL, ... what can be optimized there, but you have the control.

Reinventing development you enabled us, a comparatively small outfit, to create industry scale systems.  You revolutionized our workflow, helped us to build a bank of innovation, remove development obstacles and close the customer feed-back loop, link the tools and systems required and keep us independent from usual roles.

We own the machine learning framework and are partners in the UnRisk consortium. Both doing the number crunching in C++ and providing domain-specic programming in your declarative language.
You always strived for  combining idealism and realism in programming. And with version 8 you sure got it near to perfection.

Our hybrid programming became a kind of a whirlwind. The engines are blazingly fast and the development cycles unprecedented short. In UnRisk we support the new heterogeneous computing muscles, driving CUDA over the grid, but the engines are programmatically manipulated by your high-level language. We develop parts of UnRisk in UnRisk.

Here we are, in 2012. We have learned so much from your revolutionary concepts that we are reinventing UnRisk now. UnRisk went already cross platform, but to utilize the new heterogeneous computing muscles, platform agnostic, we are re-implementing the engines in OpenCL. And it might sound a little unfair to you: our domain-specific programming layer will be represented in other languages too. UnRisk will go multi language.

I know, your developers burst with ideas and I look forward to your new radical innovations that will enable us to drive the innovative spiral even faster.

Best regards,

Herbert