See old Object Pascal from new Rust

Nowadays I’m working on a new application, and I thought it’s a good chance to learn something new, I tried Rust.

As a newbie(or noob) in this area, I enjoy the time fighting against rust-analyzer that always-whining like Grouchy Smurf…… (lol) And today I found something interesting.

In Rust, the following is an error.

let mut raw: String;
handle.read_to_string(&mut raw);
Enter fullscreen mode
Exit fullscreen mode

To fix, the first line should be changed like following.

let mut raw=String::raw();
handle.read_to_string(&mut raw);
Enter fullscreen mode
Exit fullscreen mode

Seeing the code reminds me of the good old days of Object Pascal (Delphi). If it’s not an primitive type you’ve got to declare the variable in var clause and call constructor in implementation, or it’ll emit runtime error. And Rust “inherited” the structure as it was, except for catching non-memory-assignment in compile time.

procedure function1();
var anObject: TAwesomeClass;
begin anObject:= TAwesomeClass.Create(); // without this, the application will crash
end;
Enter fullscreen mode
Exit fullscreen mode

The programming language Pascal is a minor one as it is, it influences to too many other languages, like Java, Python, Javascript, and now Rust……. They all adopted at least some part of Object Pascal.

As a good follower of the language, I feel dim as I saw this.


Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top
Allows using the site with your screen reader.