|
| ScalaLab | MATLAB | SciLab | GroovyLab |
|
Speed | Very fast, execution speed depends on the Java runtime, generally faster than MATLAB at script code, but slower for routines implemented as built-in with MATLAB | Very fast, especially the built-in routines which are highly optimized; overall ScalaLab and MATLAB run at comparable speeds and which one outperforms depends on the case | Much slower than ScalaLab (or MATLAB), about 20 to 100 times slower. Newer versions of SciLab, however, improved a lot; speed differences are now about 3 to 10 times | Slower than ScalaLab, about 2 to 5 times slower. However, with statically typed blocks of code, performance is at about the same level as Java/Scala |
|
Portability | Very portable, anywhere exists installed Java 8 JRE | There exist versions for each main platform, for example, Windows, Linux, MacOS | There exist versions for each main platform, for example, Windows, Linux, MacOS | Very portable, anywhere exists installed Java 8 JRE |
|
Open source | Yes | No | Yes | Yes |
|
User-friendliness | Very user friendly | Very user friendly | Very user friendly | Very user friendly |
|
Libraries/toolbox availability | All the JVM libraries | A lot of toolboxes are available, but generally not free | There exist toolboxes for basic applications but for specialized ones it is difficult to find | All the JVM libraries |
|
Documentation | Little yet, and limited to on-line help, since even main code components are in the development process | Extensive documentation | Sufficient documentation | On-line documentation only |
|
Flexibility of the language (i.e, syntax malleability) | The Scala language is designed to be flexible and with very malleable syntax | The syntax of MATLAB is not designed to be extensible | SciLab is not designed to be extensible | The Groovy language is dynamic and different tricks from the Scala’s case can form customizable syntax |
|
Development of large applications | Scala has a lot of novel features that can facilitate the development of large applications. ScalaLab applications can run standalone, as any Java code | The notion of MATLABPATH integrates many MATLAB scripts, something not very scalable | Similar to MATLAB, the SciLab scripts are not well suited for complex applications, but rather they fit well for rapid testing of scientific algorithms | Groovy has a full compiler that can be used to produce standalone code of a large application project |
|
Active user development community | ScalaLab is a new project, and thus up-to-now lacks a large user base | MATLAB has a huge user base | SciLab has a large user base, however, much smaller than MATLAB’s | GroovyLab is a new project, and thus up-to-now lacks a large user base |
|