QuoteOriginally posted by: rwinston ... Matlab is basically a (very comprehensive) scripting language ...It depends on how will you define "scripting language". It is a very vague concept that in different contexts means rather different things: 1. A "glue" language controlling starts and execution of programs and passing data between them. Like bash shell language for UNIX / Linux or DOS / Windows batch files. People are also using this way such languages as Perl, Python, and Matlab, which are much more than "scripting languages" in this sense. 2. Language for machine-generated codes in context of dynamic web pages and similar.3. Languages that are good for writing short programs fast. Practically always the languages are typeless or weak typed, and are interpreted, not compiled. Weak typing makes it easier to produce codes fast, while interpreting makes it easier to check/fix/check again the codes. The codes tend to be of write-once/run once kind. Good for proof of concepts, checking algorithms, etc., and often used also for such operations as reformatting a batch of data for loading in database, when the next batch most probably will have a bit different format.I guess that you meant "scripting language" in the third sense. You are right: for smaller to midsize, run-once codes, the discussion is mostly irrelevant.The problem is that what starts as a proof of concept script often lives much longer time that was originally expected. The codes grow, became more complicated, are combined with other codes, get rich user interface, etc., etc. When your program reach some threshold size and complexity like 10,000 lines of Matlab codes organized into 200 functions and storing and passing data through 100-200 global variables, it turns rather hard to make the codes to work reliable and and to continue the development at reasonable speed.Now we either have to rewrite everything in "proper language", or refactoring in Matlab using such tools and techniques appropriate for bigger programs as OOP, generics, and design patterns. There is a rich literature and experience with using the techniques in/with C++. On the other hand, they are not described well in Matlab manuals, if described at all. This is what we are discussing here.Of course, we would like to reuse the techniques proved to work in other languages like C++ and Python. For this we are comparing Matlab facilities with the C++, Python, Java, etc. ones.