blöderidiot
Captain
- Registriert
- Juni 2004
- Beiträge
- 3.879
@KitKat::new(): ich finde Rust schon cool, es sieht für mich vielversprechend aus, hat hohe Performance - was ich gelegentlich brauche. Aber!
Unter Windows ist es mir nicht gelungen, irgendwas mit OpenCV zu machen, die crate funktioniert irgendwie nicht (kann nicht geladen werden). Ich mache viele Sachen in OpenCV (C++ und Python). Bei Qt siehts ähnlich aus, ich kann die crate zwar bauen, aber funktionieren tut sie nicht, weil sie gerne unter Windows ein altes Qt (max. 5.14) sehen will und ich habe keine Lust, mehrere Qt-Versionen, die ich sonst nicht brauche (5.15.2 ist die aktuelle 5'er) auf der Platte zu verteilen. (siehe auch: https://github.com/rust-qt/ritual/issues/104). Aber ich probiere trotzdem immer wieder mal neu, vor allem OpenCV würde mich sehr interessieren. Siehe: https://github.com/twistedfall/opencv-rust - wahrscheinlich müßte ich sowohl unter Rust als auch unter OpenCV auf mingw-toolchain gehen (im Gegensatz zum "schönen" msvc-toolchain) - aber das ist mir dann doch zu anstrengend.
Und nochwas. Bei Python habe ich seinerzeit schon geflucht wegen "immutable" (strings etc.) - aber das habe ich inzwischen "eingesehen". Aber bei Rust, und das macht die Sprache ja im Wesentlichen aus, kommt noch "ownership" dazu. Das ist dann doch etwas zu viel Overkill für den technisch-wissenschaftlichen Gelegenheitsprogrammierer, für den "Sicherheitsprobleme" kaum relevant sind. Wenn man keinen idiomatischen Rust-code schreiben möchte, kann man einiges mit "unsafe" umgehen, schon klar. Was ich meine ist sowas hier - man nehme einen String, ändere ein paar Buchstaben und gebe ihn aus.
Perl:
Python:
Rust (mein laienhafter Versuch):
/edit: C++
Also Du siehst, was ich meine. Das ist schon ganz clever, wenn man es braucht. Aber nicht für jeden Code muss man Ownership beachten sollen (IMHO) ...
Unter Windows ist es mir nicht gelungen, irgendwas mit OpenCV zu machen, die crate funktioniert irgendwie nicht (kann nicht geladen werden). Ich mache viele Sachen in OpenCV (C++ und Python). Bei Qt siehts ähnlich aus, ich kann die crate zwar bauen, aber funktionieren tut sie nicht, weil sie gerne unter Windows ein altes Qt (max. 5.14) sehen will und ich habe keine Lust, mehrere Qt-Versionen, die ich sonst nicht brauche (5.15.2 ist die aktuelle 5'er) auf der Platte zu verteilen. (siehe auch: https://github.com/rust-qt/ritual/issues/104). Aber ich probiere trotzdem immer wieder mal neu, vor allem OpenCV würde mich sehr interessieren. Siehe: https://github.com/twistedfall/opencv-rust - wahrscheinlich müßte ich sowohl unter Rust als auch unter OpenCV auf mingw-toolchain gehen (im Gegensatz zum "schönen" msvc-toolchain) - aber das ist mir dann doch zu anstrengend.
Und nochwas. Bei Python habe ich seinerzeit schon geflucht wegen "immutable" (strings etc.) - aber das habe ich inzwischen "eingesehen". Aber bei Rust, und das macht die Sprache ja im Wesentlichen aus, kommt noch "ownership" dazu. Das ist dann doch etwas zu viel Overkill für den technisch-wissenschaftlichen Gelegenheitsprogrammierer, für den "Sicherheitsprobleme" kaum relevant sind. Wenn man keinen idiomatischen Rust-code schreiben möchte, kann man einiges mit "unsafe" umgehen, schon klar. Was ich meine ist sowas hier - man nehme einen String, ändere ein paar Buchstaben und gebe ihn aus.
Perl:
Perl:
my $txt = 'Hello Perl';
$txt =~ y/[A-Za-z]/_/ and print $txt
Python:
txt = 'Hello Python' # immutable, but ok
txt = re.sub('[A-Za-z]', '_', txt)
print(txt)
Rust:
let txt: String = "Hello Rust".to_string(); // immutable/owned
let reg = Regex::new(r"[A-Za-z]").unwrap();
let res: String = reg.replace_all(txt.as_ref(), "_").to_string();
println!("{}", res);
C++:
string txt = "Hello Cplusplus";
txt = regex_replace(txt, regex("[A-Za-z]"), "_");
cout << txt << endl;
Zuletzt bearbeitet: