Scilab 6.0.0-alpha 1 Release
Scilab team is happy to announce the release of the first alpha version of Scilab 6.0
Scilab 6.0.0 is a major new release of Scilab, the open source platform for numerical computation. This 6.0.0-alpha-1 release, is a preview for developers, partners and community evaluation.
As an alpha, this release is not yet ready for production usage. If you are new to Scilab, or if you are simply a user of Scilab, you should probably continue using the 5.5.2 release, and wait for a beta version before trying the 6 family.
However, if you have already developed code on Scilab, or if you are an experienced user, then you should start looking at this release. Please try the work you have done on earlier releases of Scilab with this version: checking for compatibility may save you time later. If you find bugs or incompatibilities, please report them on our Bug Tracker: this will help get a better product, faster, which ultimately will be benefit you too.
What's new in Scilab 6.0.0-alpha-1?
This release includes a major rewrite of Scilab's internal core. The changes to the visible aspects of the software are limited.
The first big internal change, is a complete new language parser and interpreter, with the following changes:
- The language is much more coherent and predictable,
- The grammar is stricter, but more consistent,
- Error handling has been improved (but may still be limited in the alpha: please report issues you find),
- The language has slightly better compatibility with Matlab's language (for example control instructions such as switch/case statements).
- The language changes are not all backward-compatible. You will have to update your scripts/programs/modules, but it will be very simple in pretty much all cases. In particular, the following changes may require modifications to existing code:
- Literal strings cannot mix single-quote and double-quote delimiters: they have to start and finish with either both single-quotes, or both double-quotes,
- Usage of commas (to put multiple instructions on the same line) has been clarified: it can not be used following control instructions such as try,
- Three dots or more are not supported anymore.
- The second big internal change, is the ability to manipulate bigger data sets, without exhausting system resources. This includes in particular:
- A much better memory management. Memory usage is now only limited by the machine's memory. This was a much-needed, and much-requested feature. There is no need anymore for stacksize,
- Support for bigger data sizes, in particular with better support for HDF5 files,
- Some new and improved data types: 64-bit integers; ability to define user types in C++ modules. Also, matrices with more than two dimensions are now implemented natively.
- Native data structures (cell, struct), as well as multidimensional matrices, which yield, in most cases, better performance, both in memory usage, and execution speed. There could be some performance degradation in some cases: please feel free to report them.
These changes may not amount much to end-users, but they were much needed, much worked-on, improvements to the Scilab platform. These improvements will enable further improvements in the future, in terms of code management, development tools (debugger, analyzer...), as well as improvements to other part of the platform (Xcos...) that would not be possible without this release.
Several important parts of the platform are not functional in this alpha:
Xcos is not functional yet; the editor is not working yet at in this alpha 1 (it will in the final release, for sure). The simulator has been ported but is still not usable,
The debugging and profiling capabilities present in the 5.5.2 version are not ported to 6; most likely it will be replaced by completly new features,
ATOMS is functional, but since none of ATOMS modules currently on http://atoms.scilab.org/ have been ported, it is not of much use.
Consult the complete release notes