The trial period of Mathematica has tought me to be modest as a developer. If the Mathematica people happened to read my blog they would feel ashamed and kick their programmers to movement. There are simply too many things that don’t feel right, did not work the first time, or are too hard to discover. And it is definitely not a good style to have to mail the following: „The issue is rare and was not found during extensive internal and external prerelease testing. At this time, we advise against installing Mathematica 9 for Windows until we can provide you with an update that addresses this issue. This is anticipated to be available within a few days.“ That kind of misfortune teaches me modesty with my own projects.
But that’s not the main problem of Mathematica. Once you have it running you will get used to its quirks. But the software is simply not written for the casual user. That is obvious from the price tag alone. But it is also a kind of software where you feel you should better study a book before you use it. There is not much, Mathematica can do about the syntax with the square brackets, the capital letters, or the „/.“ operators. These things becomes clear after a short introduction, which of course must be presented very directly to the novice user. But, if a user writes „while [i<n, Print[i], i++]“ he should really get an error message, or some other easy way to find his mistake.
Moreover, the stubborn interface needs a redo. The font is too small and ugly, the graphics is too tiny and I have to enlarge the small frame each and every time. The Windows GUI is an unfriendly copy of the Mac style, and does not remember any settings. With a new notebook, a user expects a new environment, but gets strange errors due to assigned variables. Error messages need to appear so that the user notices and does not have to click a plus sign of 10 pixels.
What I learned from Mathematica is to try to make my programs as easy to use as possible. I have a long way to go, and so has Mathematica.