On Sunday, May 26, 2013 2:38:23 AM UTC-6, Richard Fateman wrote:
> As has been pointed out in the past, Mathematica has numerous > disadvantages for use in computer science.
By "computer science" you seem to mean "the ideology of my academic clique". A real computer science education would expose the student to a wide variety of models of computation. Mathematica's model is both eccentric and very productive, so in that sense it's a good candidate for an educational tool in computer science.
> For example, it > misconstrues common terms like List.
"List" is a perfectly good English word, with multiple meanings. Lisp lists have strange properties and historical baggage that grocery lists lack, so an English major might object that it's *you* who are abusing the word. Mathematica's List expressions are suitable for a pattern replacement system that repeatedly evaluates by default.
If you don't like Mathematica's lists, I suppose you really must hate Haskell's ;-)
> Its algorithms are secret.
I think it highly probable that the processor you're using to read this is of secret, proprietary design. Even if it's "open hardware" (unlikely), it's almost certainly implemented in silicon using a secret, proprietary process. You're a "black box" user just like the rest of us. In every case, you have to decide when to go past an interface for more insight, and when the implementation details are unimportant.
> > Its arithmetic is unique.
Another advantage. Do you really believe that there's a single model of computer arithmetic that suits all purposes?