This is a post at Apr. 20th. 2024 from my old blog.
https://codenested.blogspot.com/2024/04/see-old-object-pascal-from-new-rust.html
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);
To fix, the first line should be changed like following.
let mut raw=String::new();
handle.read_to_string(&mut raw);
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(); // or the application will crash
end;
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.
Top comments (0)