Re:Why you should, actually, rewrite some of it in Rust
by pjmlp on Thursday July 13, 2017 @01:25PM
(#14763205)
> Doesn't support expressing stack allocation patterns, which are essentially to achieving true zero-cost abstractions.
Says someone that never wrote a single line of Eiffel.
That is what local variables defined as expanded classes are for.
local
array: expanded ARRAY[INTEGER];
do
array := <<1,3,2>>
sorter.sort(array)
....
end
> Doesn't support 64-bit Windows. Verbose like Ada. Abstraction is weak compared to Rust. Also doesn't support expressing stack allocation.
Says someone that never wrote a single line of Modula-3.
TYPE
Time = RECORD
seconds: INTEGER;
milliseconds: [0..999]
END;
PROCEDURE MyProc =
VAR
t: Time; (* Stack Allocated *)
BEGIN
t.seconds := 0;
t.milliseconds := 0
END MyProc;
Being verbose is a virtue in large scale software development.
Says someone that never wrote a single line of Eiffel.
That is what local variables defined as expanded classes are for.
> Doesn't support 64-bit Windows. Verbose like Ada. Abstraction is weak compared to Rust. Also doesn't support expressing stack allocation.Says someone that never wrote a single line of Modula-3.
Being verbose is a virtue in large scale software development.