This is not a question about any technical problem with Maple.I'm not even sure that is it a question or a post.Since I'm asking something inside it,I consider it as a question.I'm sorroy that it is too long.
In scientific computing(computational physics/chemestry/biology/enginnering),which needs a large amount of data to manipulate and then simulate,some high level programming languages(HLL) are used.
Different fields have different language of choice(some use C/C++,some use Fortran,some use Matlab etc),but they are almost always some HLL or a language which is written for specific job with a HLL(e.g. Fortran,Matlab).
A common characteristic of those languages is they all do numerical data manipulation.
I'm coming to my point now.What about CAS(here, I take Maple as an standard example)?It seems to me(I may be wrong. This is not a generalized observation)that,the computational scientist community don't consider CAS a powerful tool for large scale numerical computing and simulation!The reasons they show are mainly:
- CAS are slow compared to any HLL.
- CAS are interprated language(This is one of the reasons of point 1)
- CAS have poor portability.
Ok,I understand those points,but I'm not an expert,but isn't speed of the computation has something to do with processor and memory?
even a HLL may fail with a huge amount of data in a ordinary computer(e.g. our PCs).The large scale data manipulation for a research isn't something that we do with our PCs,we use clusters of computers or mainframes or something like these.So, CAS should do fine with high speed processors & huge memory.May be they are still slower than HLLs but they have their advantages too.
CAS do symbolic manipulations.CAS are written with HLL too.They have their own programming section(in a sense,I think,a CAS is a specalized programming language also).CAS like Maple are interactive & so I don't have to know all the complex details of my syntax.
They got thounds of predefined functions and commands(u try to do a simple series summation using a HLL & note the amount of work/time to do so),that is something for which I can sacrifice some speed.CAS are specially made for simulations(u try to plot a user defined function using a HLL & note the amount of work/time to do so.U have to use a different plotting software & you have to give a good amount of time to learn the details of the software).
Now,portability is something that I need when I use different platforms in a regular basis,but a large scale computation is not something that we carry around,we test,compile,run it in the same specalized platform(Am I right?,I'm saying this from my common sense, I'm not an expert).So why not CAS?
Why can't we appreciate their full potential?
Why we always say that these are not for "real" job?
Sorry for not being brief.