Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we spoke to Larry Wall, creator of Perl, Don Syme, senior researcher at Microsoft Research Cambridge, who developed F#, Simon Peyton-Jones on the development of Haskell, Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experiences maintaining Bash, Bjarne Stroustrup of C++ fame, and Charles H. Moore about the design and development of Forth.
In this interview, which took place on the 25th anniversary of The MathWorks, MATLAB creator, Cleve Moler, took time to tell Computerworld about the unexpected popularity of the language, its influence on modern day maths, science and engineering and why today's computer science students should keep studying.
If you wish to submit any suggestions for programming languages or would like to see a particular language authors interviewed, please email firstname.lastname@example.org
What prompted the development of MATLAB?
It just so happens that December 7th is the 25th anniversary of MathWorks! But the development of MATLAB started about 10 years before that. At the time I was a professor of mathematics and computer science at the University of New Mexico and in the 1970s there were two Fortran software projects called LINPACK and EISPACK. LINPAC is today known as the benchmark, the basis for deciding the Top 500 supercomputers. But 30 years ago it was a software project involving matrices and I wanted students at the university to have access to LINPACK and EISPACK without writing Fortran programs. So I wrote the first version of MATLAB, in Fortran, 30 years ago, just as a program for my students to use.
Were you trying to solve a particular problem?
It was problems involving computations with matrices and mathematics, which was very specialised with a very narrow focus. [I had] no idea that it would be a commercial product and no intention of starting a company.
Yourself, Jack Little and Steve Bangert were the original team behind MATLAB and MathWorks — what role did each person play in the program and company’s establishment?
Little is an electrical engineer. In 1979 I visited Stanford University; I was on a sabbatical there and I taught a course and used MATLAB in the course. Engineering students at Stanford took the course and found it useful in engineering problems that I didn’t know anything about — topics called control theory and signal processing. Little had gone to Stanford and was working near the campus and he heard about MATLAB from the students, some friends that took my course. He got excited about it as something that could be used in engineering.
The mathematics that I was using was useful in these engineering subjects and I didn’t even realise it.
Bangert was a friend of Little’s and was our chief programmer for a number of years.
I’m the father of MATLAB and Little is the father of MathWorks the company. He’s the real heart and soul and the basis for the success of the company.
How has the evolution and popularity of MATLAB surprised you? Did you ever expect it to reach one million users?
No, no. I had no idea, no thought in forming a commercial company, no idea of how far this [could go]. My first MATLAB was very primitive. It was hardly even a programming language, but Little turned it into a real programming language when he became involved in the early 1980s. And today there’s so many different kinds of uses of it.
Was there a moment when its popularity really hit you?
We had started the company, I was living in California, the company was in Massachusetts, and I came back to visit Little. I saw we had an office with a conference table – a real conference table! Then we had this Christmas party, 25 years ago, and there were a lot of people at the Christmas party and I said: “Wow, we got a real company here!”
MATLAB is known for its great array and matrix handing. Do you think you have influenced many general purpose languages with that?
Well, MATLAB itself has expanded to become a general purpose language. MATLAB stands for ‘matrix laboratory’, but it’s gone way beyond that, particularly with Simulink, our companion product, which lots of people are using for things that don’t even involve matrices.
Some competitors have been modelled after and made to compete with MATLAB and have gotten their inspiration from MATLAB. There are some open source MATLAB clones, there's the popular languages used in statistics called S and R. Those guys were very much influenced by MATLAB. There’s now an add-on to Python called Numerical Python, which very much looks like MATLAB.
Are you aware of any everyday products that use MATLAB as one of their tools for creation?
Absolutely! One of the most interesting is hearing aids. There’s a famous Australian company called Cochlear that makes hearing aids. Several years ago my wife was looking for a hearing aid for her mother. She was on the web and she came across the Cochlear website. She said, “Hey Cleve there’s a MATLAB plot!” So it turns out my mother-in-law has a MATLAB designed hearing aid.
All the major automobile manufacturers use MATLAB in the design of the electronics in the car: The anti-lock brakes, the electronic ignition, motors running the windows. MATLAB doesn’t actually run in your car, but its electronics were most likely designed with MATLAB. The same is true of airplanes and cell phones.