I made a bold prediction today. I predicted that Biology, as a discipline, would adopt MATLab as its computing environment. That may have been overstating things, but still, here’s why I think so:
1. Marketing: There are plenty of development environments out there. I’m looking at this from the perspective of a non-programmer. And non-programmers think in terms of “what program do I have to buy to do this?”
Anybody can code in a text editor in C and compile with a free compiler. But it’s not a complete development environment with a box, a price tag, and a user-friendly GUI. Biologists won’t use it. In terms of a packaged development environment, there’s MS Visual Studio, Mathematica, MATLab, Maple, Mathcad and some Open Source projects like SAGE.
2. Function Library. I’ve played with all of those but Maple. In terms of large, pre-made scientific funciton libraries, Mathematica and MATLab come out ahead. And they have a similar learning curve.
3. Math. Mathematica definitely has its advantages. But I don’t think that biologists think in terms of solving boundary value problems symbolically. They think more in terms of Finite Element simulations. Discrete math. That leans toward MATLab.
4. Social network. I suspect that the biologists will turn to their biochemist, chemist and engineer friends for adivce on computing, and they will hear MATLab overwhelmingly. I doubt they will go to
the physicists and mathematicians, where they might hear more about Mathematica.
OK, so MATLab’s the way of the future… what can you do with MATLab?
You can do everything that Excel does (including much nicer graphing options). Plus you can analyze images, spectra, or any other data. Most importantly, when you’ve gone to all that trouble, you can apply it as a loop to other inputs.
Take this for instance. Say you have a fluorescence image of cells. You go to all the trouble of figuring out three data values from that image. Maybe you measure cell count, average cell area, average cell fluorescence brightness. The trouble is that you probably have 100 images. Or you would like to in order to have a publishable result. That will take forever. If you “train” your PC to do that with MATLab, you can just run the program on a whole directory of images and have it spit the results out as an Excel file (if you insist on using Excel). Or a nice graph (it will look better if MATLab makes it).Or you can make a little GUI for your friends. I worked out how to do that in about 3 hours. Next time, 15 minutes.
Quantification is the future, and it is now.