This example adds MATLAB® to the list of languages in this C++ vs Java vs Python vs Ruby: a first impression (http://web.archive.org/web/20100420080552/http://www.dmh2000.com/cjpr/ ) article at www.dmh2000.com, which compares implementations of a Red Black Tree binary search algorithm (http://www.cs.auckland.ac.nz/software/AlgAnim/red_black.html ).
The side by side code comparison shows the same simple object oriented example written in C++, Java, Python, Ruby and MATLAB. The MATLAB implementation uses the new object oriented features available in R2008a. This example is designed to help programmers familiar with these other languages learn object oriented programming practices in MATLAB.
How to Compare the Languages
Click download, then save and unzip the files to a folder. Open the comparelanguages.html file. The code for two languages is displayed side-by-side in two frames. You select which two languages to compare by clicking on the links at the top of each frame. Note that, unlike most of the other languages, you cannot currently put more than one class in a single MATLAB class definition file, so a fake combined file with the two classes and the test function (that does not run) is used for the side-by-side HTML comparison. The MATLAB code is contained in the sub folder called MATLAB_Code. The equivalent C++, Java, Python and Ruby code is available from the dmh2000 web site.
Although this example does let you compare the object oriented syntax of these languages, it does not compare the languages' ability to develop technical computing applications such as for signal processing, image processing, financial modeling, etc, for which MATLAB is designed.
Other resources for learning object orient programming in MATLAB include:
* Defining Classes Video Tutorial - 11 min (http://tinyurl.com/29cdle )
* Comparison of C++ and MATLAB Using Object Oriented Application Example (http://tinyurl.com/2zkhgu )
* MATLAB Classes and Object Oriented Programming Documentation (http://tinyurl.com/2z8mba )
For more information on MATLAB OOP, see product page: http://www.mathworks.com/discovery/object-oriented-programming.html