All our research courses use Mathematica® as the tool for data analysis and visualization. Mathematica® has the following advantages and disadvantages. (We also describe how we overcome the disadvantages.)
Advantages:
- Used by many top researchers in all scientific disciplines around the world today
- Most scientific functions are already built in
- One of the industry's most powerful visualization engine is built in
- Can read and write most file formats without any extra coding
- Offers the shortest path between hypothesis and validation
Disadvantages
- Expensive. (Resolved by iSabio's site license deal with Wolfram to provide affordable licenses to the students)
- Slow. (Resolved by using multiple computers and compiled code)
- Too convenient. It will spoil the student's programming ability with other computer languages. (Resolved by teaching the students procedural implementation first, then teach the list processing equivalent
The advantages far outweigh the disadvantages. While the slow execution of the code (inherent to all interpreted programming language) is a clear disadvantage, code execution is only 1% of the total research time. In any research, most time is spent reading, thinking and trying out the ideas. In the computer languages that lack the visualization tools, or file import/export conversion tools, researchers are forced to spend weeks, if not months, implementing those features only at a barely functioning level. Mathematica® on the other hand will allow the researchers to focus on the research most of the time. As for the slow execution of the code, iSabio has tens of computers, all equipped with the latest version of Mathematica®, ready to run our researchers' code whenever necessary.
Maple is a competition of Mathematica. These two software packages have similar purpose and capabilities and you can find true believer of either one. We feel learning either one well is time much better spent than comparing these two endlessly. We chose Mathematica for our own reasons that placed students' interest first. For objective comparison, please refer to Stefan Steinhaus's site and his 2008 report.
Matlab has a different purpose than Mathematica. Matlab, which stands for Matrix Lab, is designed for number crunching applications whereas Mathematica was designed for symbolic mathematics. Many of our research projects are computational in nature, and is likely to be better served by Matlab. However, we chose Mathematica becaues it will be more useful for our students because this is only the beginning of their career and they will still go high school and college courses, taking calculus and differential equations. Mathematica will be a better companion on their math courses while it can still do everything Matlab does.
Matlab's main advantage over Mathematica used to be its speed. But, as you can see in this speed comparison (pg 29), Mathematica now exceeds Matlab in speed in many types of computations and does fall by much in other computations.
Learning to use these these packages is very much like learning to drive trucks vs. busses vs. cars. They all have different purpose and different advatages/disadvantages. But if you learn to drive one well, you will learn to drive others easily. Not knowing how to drive any of them is only losing deal. |