[Scilab-Dev] SEP #40: Cell Arrays
Samuel Gougeon
sgougeon at free.fr
Wed Mar 9 01:18:22 CET 2016
Hello,
Le 18/02/2016 20:41, Eric Dubois a écrit :
> Hello
>
> I am inclined to share Samuel point of view: this is a compliocation
> than could be avoided.
>
> But I cannot resist noting that the annoucement is 6 years older than
> the announcement of the weapon of mass destruction that consist in
> changing the behaviour of the addition of a matrix with a null matrix.
>
> Sorry for insisting, but I will again call for the removal from the
> final Scilab 6.0 release of this planned change.
>
> First, I am not convinced at all by the argument put forward that it
> will make Scilab more consistent with other language such as Matlab,
> Octave, Julia.. : after all, every language has its indiosycrasies; a
> Matlab user will yet have to adapt herslef to this change, bu along
> many other ones; and I,do not think that changing this behavour will
> convice any Matlab user to switch to Scilab nor prevent anyone
> thinking about switching to give up because of this beahviour.
>
> Second The argument that it enhances Scilab internal consistency is a
> little bit more compelling, but not much: after all, addition and
> subtraction are different operations from multiplication and division,
> such one can justify different behaviour. And there are cases when it
> make tho code more compact.
>
> Adnd lastly both arguments are anyway swept away by the simple fact
> that the change should make all previous code unreliable: you cannot
> be sure in advance that the working of your program has not been
> affected by the change (and the warning that is designed to alert to
> the user is not sufficient: a warning can easily be missed, especially
> for second hand users not so famaliar with Scilab and if it is hidden
> among many other warnings).
I have the same feeling, and i agree mostly with your last remark. We
could stress on some "pitfalls" set by the oldEmptyBehaviour flag or by
the "warning stop" behavior:
* oldEmptyBehaviour flag:We may guess that this flag is a /global/
one. Isn't it? So, if we set it at the beginning of a script or of a
macro, then it applies to the whole Scilab session (i haven't
checked that), even after leaving the script or the macro. If so,
then if in a session we process some recent up-to-date scripts or
macros, and some other ones that are not up-to-date, what will
occur, whatever is the flag's value? This is not really clear.
* warning("stop"): i agree that, in order to update all contents and
to be sure that results are reliable and not polluted by
unpredictable "[]+-" side effects, this warning mode will have to be
always activated for a very long period, may be up to Scilab 7.
Then, the problem is that this stopping mode does not resolve the
cause: if an up-to-date package intentionally uses warnings for
anything else than []+, it will be stopped as well.
This warning mode should accept an additional parameter identifying
the type of event (or a series/vector of events) for which stopping
must occur. Shouln't it?
BR
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/dev/attachments/20160309/ff4f5b3d/attachment.htm>
More information about the dev
mailing list